PHP mkdir 0777未通过chmod 0777工程

PHP mkdir 0777未通过chmod 0777工程,php,chmod,mkdir,Php,Chmod,Mkdir,使用PHP5.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@VE2

使用PHP5.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错误列表中没有找到任何相关的错误,有什么想法吗?

按文档所述工作。mkdir尊重umask,chmod不尊重。这不是bug。看-您可能有一个0002的umask。您创建的内容的权限是
yourmode&~umask
,因此它会占用0777之外所有人的写入位

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

另外,检查创建新目录的顶部目录

(示例)

pwd /数据/日志

/数据/日志必须为0777


你的任务是什么?(mkdir是否使用umask?)。
$dir="/data/log/query";
$old = umask(0); 
mkdir($dir,0777); 
umask($old);