php - svn 从 php 文件更新

标签 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

<小时/>

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

最佳答案

您的问题是实际运行该命令的用户。在您的第一个示例中,它是“user”,在第二个示例中,它是网络服务器(“apache”或“nobody”,具体取决于主机配置)。通常Web服务器缺乏写入权限,因此svn更新失败。

没有人禁止您直接在服务器 A 上使用服务器 B 中的示例。实际上,您将验证为具有运行 svn update 相关权限的“用户”,即使它是从同一服务器调用的。

关于php - svn 从 php 文件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078609/

相关文章:

按创建日期排序的SVN列表

svn - Jenkins 和 SVN 凭证缓存

php - PDO查询结果包含 "PDO Object()"

php - 返回值必须是返回的混合 int 的实例 AH01071

PHP-MySQL-我想将数组中的任何值与我从表单收到的 _POST 值进行比较

php - 如何设置 IIS、MS SQL 服务器来显示我的 PHP 错误

python - 通过 python cgi 脚本的 ssh 不工作

objective-c - 在 Linux 中使用 cocoa 命令行应用程序

c++ - boost 线程 : Use of deleted function Error

svn - 将 svn 备份到另一个 svn 存储库