Joe*_*dez 16 php apache file-permissions chmod
我正在努力掌握chmod()PHP 的概念,因为我目前正在采取的课程有点过时,涉及safe_mode.它指出,当safe_mode关闭时,将删除chmod()当所有者与执行命令的所有者不同时修改对文件的权限的限制.我正在使用PHP 5.5.9与XAMPP结合使用,我已经验证了标志已关闭(以防万一),但似乎无法使其正常工作.当我执行以下PHP脚本时:
echo "File permissions :" . decoct(fileperms("file_permissions.php"));
chmod("file_permissions.php" ,0777);
Run Code Online (Sandbox Code Playgroud)
我收到以下输出:
Warning: chmod(): Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我对该文件的权限如下
-rwxrwxrwx@ 1 joelhernandez staff 24 Apr 14 06:59 file_permissions.php
Run Code Online (Sandbox Code Playgroud)
我已经执行ps aux | grep httpd以确认我的网络服务器是在用户"守护进程"下运行的.
当我将文件所有权更改为守护进程时:
-rwxrwxrwx@ 1 daemon staff 24 Apr 14 06:59 file_permissions.php
Run Code Online (Sandbox Code Playgroud)
一切正常,我不明白为什么我已经理解,关闭safe_mode,文件所有权将没有任何意义,而文件权限是处理访问的方式.
And*_*ico 23
该daemon用户是不是root,所以它不允许更改由其他用户拥有的文件的模式.PHP safe_mode不是这里的原因.警告告诉您尝试的操作失败,因为Web服务器用户没有权限进行模式更改.
手动将文件的所有权更改为之后,操作成功,daemon因为允许用户更改其拥有的文件的模式.
| 归档时间: |
|
| 查看次数: |
55901 次 |
| 最近记录: |