0

サーバーとして WAMP を使用しており、svn を実行する必要があります。svn は Windows ディレクトリにあります: C:/Program Files/Subversion/bin/

問題は、サーバーから php プログラムを起動すると、出力が生成されないことです。これはコマンドラインから動作するため、これは WAMP の権限の問題だと思います。ただし、無制限のパワーを与えた後でも、コマンドラインから呼び出さない限り、svn コマンドは実行されません。

svnへのフルパスで呼び出してみましたが、通常のパスです。「dir」などの他のコマンドは正常に機能します。

私の質問を明確にするために: WAMP を介して php から svn を実行するにはどうすればよいですか?

4

3 に答える 3

1

PHP には、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 を設定することで問題が解決します。

于 2009-02-24T16:34:12.880 に答える
1

私もこの問題を発見し、この問題を解決できます。ユーザー名とパスワードを使用していることを確認してください (必要な場合)

例えば。svn update "\my\project\" --username [myusername] --password [mypassword]

そうでない場合、出力はなく、svn はまだ入力を待ちます。

PSログオンしてcmdでsvnを実行すると、ユーザー名とパスワードは要求されませんが、PHPで実行すると必要になります。うまくいけば、それはあなたの問題を解決します。

于 2009-09-30T04:03:03.240 に答える
0

代わりに無料の svn クラスを使用してください。svn モジュールは必要ありません: http://www.phpclasses.org/browse/package/3427.ht http://code.google.com/p/phpsvnclient/

于 2009-02-24T18:26:04.967 に答える