WAMP - PHP shell_exec()问题

时间:2009-02-24 16:31:59

标签: php svn command-line permissions wamp

我使用WAMP作为服务器,我需要执行svn,可以在我的Windows目录中找到:C:/ Program Files / Subversion / bin /

问题是,当我从服务器启动php程序时,它不会产生输出。它可以从命令行运行,这让我觉得这是WAMP的权限问题。但是在赋予它无限的权力之后,它仍然不会执行svn命令,除非我从命令行调用它。

我试过用svn的完整路径调用它,它是常规路径。其他命令如“dir”工作正常。

澄清我的问题:如何通过WAMP从php执行svn?

3 个答案:

答案 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)