mkdir () не устанавливает chmod в 0777

#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:

Из http://php.net/mkdir:

Примечание: mode игнорируется в Windows.

Режим также изменяется текущей umask, которую вы можете изменить с помощью umask() .

Ответ №2:

Потому что на это влияет текущая umask. Из документации mkdir PHP:

Режим также изменяется текущей umask, которую вы можете изменить с помощью umask().

Ответ №3:

Согласно документации mkdir по PHP:

Режим также изменяется текущей umask, которую вы можете изменить с помощью umask().

Может ли это быть так?