используя 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 этого не делает.