ホームページ >バックエンド開発 >PHPチュートリアル >PHPでsvn updateを実行する際の問題

PHPでsvn updateを実行する際の問題

WBOY
WBOYオリジナル
2016-06-23 13:59:091093ブラウズ

<?php$username = 'test';$password = '111';$target_dir = 'svn://localhost/kf5';exec("svn up --username $username --password $password $target_dir 2>&1", $output);print_r($output);


コード同期を実現するために、php の exec を使用して svn update を実行したいと考えています。しかし、プログラムはスケジュールどおりに実行されませんでした。結果は次のとおりです。助けてください
'svn://115.29.186.170/kf5' をスキップしました

実行方法は?または、svn コードが更新された後、Web サーバーがそのコードを直接実行できることをどのように認識しますか?誰かやったことがありますか?

exec('mkdir testing'); の実行は成功しました。テスト ファイル ディレクトリは正常に作成できます。
http://gongwen.sinaapp.com/article-132.html

zy205817 さん、ありがとうございます。常にプロンプ​​トが表示されます: スキップされました...

問題の解決策: このディレクトリにアクセス許可を与える場合を除きます。まず、次のコマンドを実行する必要があります:

svn co file:///data/web/kf5 /data/web/kf6

最初のディレクトリ file:///data/web/kf5 は svn コード ライブラリ ディレクトリです。 。 2 番目のディレクトリは Web ディレクトリです。

次に実行します:

svn update /data/web/kf6/ --username svn_name --password svn_passwd --no-auth-cache

テストに合格しました:

次に実行スクリプトを svn ディレクトリフックに記述します:
ファイル名 :コミット後
ファイルの内容:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /data/web/kf6/ --username svn_name - -password svn_passwd --no-auth-cache

最後に、Web ディレクトリへの書き込み権限とコミット後のファイルへの実行権限を与えることを忘れないでください。




svn コマンド ライン リファレンス:
http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。