PHP mkdir 0777 失败 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 bug 列表中没有找到任何相关的 bug,知道吗?
using PHP 5.2.14, this is what happens
[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
Did not find any related bugs in the php bug list, any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
读到这里,
http://php.net/manual/en/function.mkdir.php
另外,检查您创建新目录的顶级目录。
例子)
Read this,
http://php.net/manual/en/function.mkdir.php
Additional, Check the top directory that you make new directory.
Example)
这不是一个错误。请参阅 http://php.net/umask - 您的 umask 可能为 0002。您创建的内容的权限是
yourmode & ~umask
,因此它会将每个人的写入位从 0777 中夺走。This is not a bug. See http://php.net/umask - you probably have an umask of 0002. The permission of what you create is
yourmode & ~umask
, so it takes the write-bit for everyone away from 0777.按记录工作。 mkdir 尊重 umask,而 chmod 不尊重。
Working as documented. mkdir respects umask, chmod doesn't.