从PHP文件更新SVN


svn update from php file

我有两个服务器,我想为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


如果有人能帮助我,请提前感谢。

您的问题是实际运行该命令的用户。在你的第一个例子中,它是"用户",在你的第二个例子中,它是webserver("apache"或"nobody"取决于主机配置)。通常webserver没有写权限,所以svn update失败。

没有人禁止你从服务器B直接在服务器a上使用你的例子。实际上,你将认证为"用户",谁拥有运行svn update的相关权限,即使它是从同一服务器上调用的。