我有一些PHP代码需要使用chgrp()
更改文件组。代码在另一台服务器(php 5.2)上运行,但是当迁移到新服务器(php 5.3)时,它停止工作
chgrp()
:不允许操作。
我已经仔细检查过用户帐户apache是否具有该文件的写入权限(并且它是所有者只是为了加倍确定)。我还仔细检查过PHP safe_mode
已关闭。
还有其他提示吗?
答案 0 :(得分:1)
我想您正在尝试将一个组分配到目标文件/目录apache
组不的成员,正如{{3}中提到的那样文档:
只有超级用户可以任意更改文件组;其他用户可以将文件组更改为该用户所属的任何组。
我不确定它背后的想法是什么,但它说你不应该将你的文件/目录分配给你不属于它们的组;因此apache
用户无法将其任何文件/目录分配给您可能正在考虑的大多数组(默认配置)。
P.S。您可能chmod
和chown
拥有apache
用户所拥有的相同权限,但同样,不允许将这些文件分配给您不是其成员的另一个群组它们。
答案 1 :(得分:0)
所以问题就此停止了。我真的开始添加一些调试语句,并在添加新语句时刷新日志,然后我注意到错误突然停止显示在日志中。我猜想需要重新启动的东西,这发生在我的调试之间。我不确定。但理论上,safe_mode off,文件存在,而apache用户是文件的所有者/创建者应该从一开始就有用。