shell_exec('svn up / var / www / mydirectory')无效

时间:2011-02-09 05:18:32

标签: php svn shell-exec

我无法使用shell_exec('svn up / var / www / mydirectory')。由于某种原因没有任何反应我很想认为这是一个许可问题,但不确定。我可以毫无问题地执行它:shell_exec('svn help')

1 个答案:

答案 0 :(得分:2)

这可能是因为文件权限问题。在大多数PHP配置中,PHP用户无法写入/ var / www / *。 svn up /var/www/...尝试写入此目录,而svn help则不会。

作为安全预防措施,

/ var / www /不可写入PHP用户。使其可写使您的站点更容易受到攻击,因为如果在PHP脚本中发现错误,则攻击者更有可能完全控制您的服务器。 (因为他们可以在你的服务器上编写自己的PHP代码)

如果/ var / www / mydirectory不包含任何需要执行的PHP代码,那么执行chmod -x+w mydirectory/应该是安全的。如果mydirectory包含需要执行的PHP代码,并且您已经评估了没有更安全的方法,那么请使用chmod +w mydirectory/

注意,我建议创建一个cron作业或使用其他方式以另一个用户身份运行svn up操作,并将其保留为只读PHP进程。