我使用WAMP作为服务器,我需要执行svn,可以在我的Windows目录中找到:C:/ Program Files / Subversion / bin /
问题是,当我从服务器启动php程序时,它不会产生输出。它可以从命令行运行,这让我觉得这是WAMP的权限问题。但是在赋予它无限的权力之后,它仍然不会执行svn命令,除非我从命令行调用它。
我试过用svn的完整路径调用它,它是常规路径。其他命令如“dir”工作正常。
澄清我的问题:如何通过WAMP从php执行svn?
答案 0 :(得分:1)
PHP有whole bunch个函数,它们明确地处理svn存储库,并且不要求你使用任何system() - 类型的函数。
由于您说您无法使用各种svn函数,请尝试以下操作:
<?php
$cmd = 'set PATH';
echo '<pre>' , shell_exec( $cmd ) , '</pre>';
?>
查看返回的内容(查找PATH环境变量)。查看PATH包含的内容。
您可能必须将Subversion文件夹添加到PATH:
<?php
$cmd = 'set PATH=%PATH%;"C:\Program Files\Subversion\bin\"; svn up';
shell_exec( $cmd );
?>
希望设置PATH可以解决您的问题。
答案 1 :(得分:1)
我也发现了这个问题并且可以解决这个问题,请确保使用用户名和密码(如果需要)
例如。 svn update “\ my \ project \” --username [myusername] --password [mypassword]
如果没有,没有输出和svn仍在等你输入。
P.S。当我登录并在cmd上运行svn时,它不会请求用户名和密码,但是当我在PHP上运行时你需要它。希望它能解决你的问题。
答案 2 :(得分:0)
使用免费的svn类,它们不需要svn模块: http://www.phpclasses.org/browse/package/3427.ht http://code.google.com/p/phpsvnclient/