1

我有一些 PHP 代码需要使用chgrp(). 该代码在另一台服务器(php 5.2)上工作,但是当迁移到新服务器(php 5.3)时,它停止工作

chgrp(): 不允许操作。

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

还有其他提示吗?

4

2 回答 2

1

我猜你正在尝试将一个组分配给目标文件/目录,该apache不是该组的成员,正如它在chgrp文档中提到的那样:

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

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

PS您可能能够chmodchown使用您的用户拥有的相同权限apache,但同样,不允许将这些文件分配给您不是其中成员的另一个组。

于 2013-09-19T13:39:25.870 回答
0

所以这个问题刚刚停止发生。我真的开始添加一些调试语句,并在添加新语句时刷新日志,然后我注意到错误突然停止出现在日志中。我猜需要重新启动一些东西,这发生在我的调试之间。我不确定。但理论上安全模式关闭,文件存在,并且作为文件所有者/创建者的 apache 用户应该从一开始就工作。

于 2012-08-10T16:57:05.070 回答