我尝试将PHP的chmod的权限设置为02775。但是由于某种原因,它仅向文件中添加了0775。我以为这可能是PHP的chmod实现或其他问题,所以我尝试使用PHP的passthru()函数运行“ chmod 02775 path”,但是得到了相同的结果。我在shell中尝试了相同的命令,并且效果很好。我使用root用户以CLI身份运行脚本,所以这不是用户限制问题。
我能提出的唯一理由是,PHP是否以某种方式在受控环境中运行?否则,passthru()至少应该起作用了。
答案 0 :(得分:0)
好的,发现了问题。 适当地,PHP的chown()和chgrp()函数会将粘滞位重置为0。因此chmod()必须是最后一个被调用以保留权限。