PHP mkdir 0777 fail chmod 0777 работает

используя PHP 5.2.14, это то, что происходит

[user@VE213 public_html]$ php -r "mkdir('directory', 0777);" [user@VE213 public_html]$ ls -lt drwxrwxr-x 2 rankranger rankranger 4096 Dec 8 17:28 directory [user@VE213 public_html]$ php -r "chmod('directory', 0777);" [user@VE213 public_html]$ ls -lt drwxrwxrwx 2 rankranger rankranger 4096 Dec 8 17:28 directory 

Не нашли ли какие-либо связанные ошибки в списке ошибок php, какую-нибудь идею?

 $old = umask(0); mkdir($dir,0777); umask($old); 

Прочтите это, http://php.net/manual/en/function.mkdir.php

Дополнительно, проверьте каталог, в котором вы создаете новый каталог.

Пример)

pwd / data / log

 $dir="/data/log/query"; $old = umask(0); mkdir($dir,0777); umask($old); 

/ data / log должно быть 0777.

Это не ошибка. См. http://php.net/umask – у вас, вероятно, есть umask 0002. Разрешение того, что вы создаете, – yourmode & ~umask , так что для каждого из них требуется бит для записи от 0777.

Работа над документом. mkdir уважает umask, chmod этого не делает.