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