【发布时间】:2015-12-19 10:42:00
【问题描述】:
这是使用错误权限创建“缓存”文件夹的代码:
mkdir($saveFolder, 02775);
当我使用 ls -la 检查文件夹权限时,我收到:
drwxr-sr-x
但我期待的是:
drwxrwsr-x
【问题讨论】:
标签: php file-permissions
这是使用错误权限创建“缓存”文件夹的代码:
mkdir($saveFolder, 02775);
当我使用 ls -la 检查文件夹权限时,我收到:
drwxr-sr-x
但我期待的是:
drwxrwsr-x
【问题讨论】:
标签: php file-permissions
由于一些晦涩的原因(至少对我而言)将代码更改为
mkdir($saveFolder);
chmod($saveFolder, 02775);
解决了这个问题。
现在我在文件夹上设置了正确的权限:
drwxrwsr-x
【讨论】:
您当前的 umask 也会影响模式,因此根据您的 umask 设置,创建的目录的模式可能与函数调用中指定的八进制不匹配。 http://php.net/manual/en/function.mkdir.php:
模式默认为 0777,表示访问范围最广。有关模式的更多信息,请阅读 chmod() 页面上的详细信息。请注意,您可能希望将模式指定为八进制数,这意味着它应该有一个前导零。 模式也会被当前的umask修改,你可以使用umask()来改变。
尝试设置umask(0) 并且提供给mkdir() 的参数应该可以按预期工作。
【讨论】: