从php文件更新svn

时间:2014-06-06 09:34:30

标签: php linux svn

我有两个服务器,我想为svn更新我的项目做一个脚本。 服务器A是我的生产服务器,我尝试从php更新svn。

我的服务器B是我的开发服务器。


1。我的服务器B上的脚本工作正常:

$projet = $_POST['data'];
exec('ssh user@myserver "echo myPassword | sudo -S ./svnup.sh '.$projet.'"',$out,$ret);

=>没关系。


2。我在我的服务器A上创建一个脚本,直接从互联网上更新(我的服务器B是本地的):

$projet = $_POST['data'];
exec('sudo -S ./svnup.sh $project',$out);
var_dump($out[0]); 
die;

=>它不起作用,响应= NULL


如果有人可以帮助我,请提前致谢。

1 个答案:

答案 0 :(得分:0)

您的问题是实际运行该命令的用户。在你的第一个例子中,它是" user",在你的第二个例子中它是webserver(" apache"或" nobody"取决于主机配置)。通常,webserver缺少写入权限,因此svn更新失败。

没有人禁止您直接在服务器A上使用服务器B中的示例。实际上,您将通过" user"进行身份验证。谁有相关的priveleges运行svn更新,即使从同一服务器调用它。