不允许PHP chgrp操作

时间:2012-08-10 14:40:30

标签: php apache webserver

我有一些PHP代码需要使用chgrp()更改文件组。代码在另一台服务器(php 5.2)上运行,但是当迁移到新服务器(php 5.3)时,它停止工作

  

chgrp():不允许操作。

我已经仔细检查过用户帐户apache是​​否具有该文件的写入权限(并且它是所有者只是为了加倍确定)。我还仔细检查过PHP safe_mode已关闭。

还有其他提示吗?

2 个答案:

答案 0 :(得分:1)

我想您正在尝试将一个组分配到目标文件/目录apache的成员,正如{{3}中提到的那样文档:

  

只有超级用户可以任意更改文件组;其他用户可以将文件组更改为该用户所属的任何组。

我不确定它背后的想法是什么,但它说你不应该将你的文件/目录分配给你不属于它们的组;因此apache用户无法将其任何文件/目录分配给您可能正在考虑的大多数组(默认配置)。

P.S。您可能chmodchown拥有apache用户所拥有的相同权限,但同样,不允许将这些文件分配给您不是其成员的另一个群组它们。

答案 1 :(得分:0)

所以问题就此停止了。我真的开始添加一些调试语句,并在添加新语句时刷新日志,然后我注意到错误突然停止显示在日志中。我猜想需要重新启动的东西,这发生在我的调试之间。我不确定。但理论上,safe_mode off,文件存在,而apache用户是文件的所有者/创建者应该从一开始就有用。