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