#php
#php
Вопрос:
Почему mkdir не устанавливает CHMOD в 0777
?
mkdir('/var/www/test', 0777);
После создания каталога CHMOD устанавливается в 0755
из php.net
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
по умолчанию $mode
должно быть 0777
… но если вы оставите второй аргумент пустым, CHMOD все равно будет установлен в 0755
Комментарии:
1. 0755 является стандартом для пользовательского apache php!
2. Это лучший вопрос для s.tk/unix или s.tk/su .
3.Проверьте
umask
$old = umask(0); chmod("/path/some_dir/some_file.txt", 0755); umask($old);
Ответ №1:
Примечание:
mode
игнорируется в Windows.Режим также изменяется текущей umask, которую вы можете изменить с помощью
umask()
.
Ответ №2:
Потому что на это влияет текущая umask. Из документации mkdir
PHP:
Режим также изменяется текущей umask, которую вы можете изменить с помощью umask().
Ответ №3:
Согласно документации mkdir по PHP:
Режим также изменяется текущей umask, которую вы можете изменить с помощью umask().
Может ли это быть так?