为什么 PHP 需要"execute"权限才能写入文件?



除非我为创建文件的目录启用"执行"权限,否则我无法打开文件进行写入。这似乎很奇怪。为什么"写"权限不够?

这是一个非常简单的fopen,fputcsv循环,fclose序列。没有对该目录中的文件执行任何其他操作。

基本配置-Centos,Apache,PHP

感谢

"在目录上,执行权限(也称为"搜索位")允许您访问目录中的文件并输入它,例如使用cd命令。"source--文件权限的良好讨论

这可能与SELinux有关。基本上,SELinux让您可以更好地控制进程和守护进程的功能……这是一种超越正常用户/组权限的边界系统。它可能有助于细粒度控制,但有时也会妨碍控制。

有一些方法可以关闭它(请参阅http://linuxconfig.org/how-to-disable-selinux)。

但是,也有一些方法可以微调设置(请参阅:http://sheltren.com/stop-disabling-selinux)从长远来看可能会更好。如果你没有连接到CentOS,你也可以尝试不同的发行版。

编辑:

此外,如果这与SELinux无关,如下面评论中提到的sepp2k,您可能需要查看Wayne Pollock的文件和目录参考指南中标题为"执行权限"的部分。

最新更新