PHP是否阻塞了粘性位?

时间:2018-07-16 13:03:56

标签: php linux file-permissions chmod

我尝试将PHP的chmod的权限设置为02775。但是由于某种原因,它仅向文件中添加了0775。我以为这可能是PHP的chmod实现或其他问题,所以我尝试使用PHP的passthru()函数运行“ chmod 02775 path”,但是得到了相同的结果。我在shell中尝试了相同的命令,并且效果很好。我使用root用户以CLI身份运行脚本,所以这不是用户限制问题。

我能提出的唯一理由是,PHP是否以某种方式在受控环境中运行?否则,passthru()至少应该起作用了。

1 个答案:

答案 0 :(得分:0)

好的,发现了问题。 适当地,PHP的chown()和chgrp()函数会将粘滞位重置为0。因此chmod()必须是最后一个被调用以保留权限。