我想通过调用 PHP 脚本更轻松地进行 SVN 更新。
我创建了 PHP 脚本:
$cmd = "svn update https://___/svn/website /var/www/html/website/ 2>&1";
exec($cmd, $out);
由于运行脚本的用户是 apache(不是 root),我遇到了一些权限错误。
如果我将每个目录的所有者更改为 apache(或将所有内容更改为 777),我就会遇到另一个问题。因为我使用 https 协议(protocol)用户 apache 应该永久接受 svn 服务器的证书。我尝试执行“su - apache”并接受证书,但操作系统说“apache”不是有效用户。我也不知道如何接受带有 exec() 函数的证书。
有什么想法吗?我怎样才能使 svn 更新更容易?
最佳答案
错误是否告诉您该用户不是有效的 svn 用户?如果 apache 是运行 httpd 的用户,您应该能够 su 到它。这是我使用的脚本:
/usr/bin/svn --config-dir=/home/user/.subversion --username=svnuser --password=svnpass update
保存密码后,您可以将其从命令中删除。再次确保上面的用户/密码是有效的 SVN 用户。
最近我实际上已经迁移到使用 Hudson 进行 svn 更新,因为您可以安排它以及手动运行它并执行一系列其他任务,此外您还可以查看每次提交的 svn 日志以及任何控制台错误。
关于php - 使用 PHP 和 SSL 更新 svn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6319100/