0

このexecを実行しようとしています

exec('svn export -r '.$rev2.' '.$repourl.'/'.$dir.$parts[$j].' cache/diff/'.$dir.$parts[$j]);

これは次のようになります:

svn export -r 1192 file:///var/svn/Repo/folder/file.xml cache/diff/folder/file.xml

スクリプトを試してみると、ファイルがエクスポートされないだけです(フォルダーは別の関数で作成されるため、そこにあります)。

しかし、(コマンドラインから) ユーザー www-data として svn export を実行しようとすると、動作します。

なぜそれがphpから動作しないのかわかりません..多分いくつかの設定ですか?誰かが助けてくれることを願っています、事前に感謝します

EDIT svn (どの svn) exec へのフルパスでも試してみました:

exec('/usr/bin/svn export -r '.$rev2.' '.$repourl.'/'.$dir.$parts[$j].'

結果

/usr/bin/svn export -r 1192 file:///var/svn/Repo/folder/file.xml cache/diff/folder/file.xml

それでも変更はありません。ファイルはエクスポートされません。

4

2 に答える 2

0

構成ではありません。というか、直接ではありません。PHP インスタンスは、指定したフォルダーに書き込めないユーザーに設定されているようです。chmodまたは、 PHPchownを実行するユーザーが書き込みできるものにします。

補足: laravel 用の SVN lib を作成しました。ただし、スタンドアロンです。それを使用することで負担を軽減したい場合があります-それ自体は PECL SVN 拡張を使用します。

于 2013-03-28T11:54:06.110 に答える
0

解決策が見つかりました。問題はグローバル変数がexecを実行できないことに関連していました。

于 2013-03-28T14:45:02.070 に答える