2011-08-10 9 views
4

私は、SVNリポジトリへの情報呼び出しをホストSVNサービスに保存するコマンドを作成しました。ここでは例です:PHPでexec()を使用してHTTPS SVNコマンドラインリクエストを作成

exec('svn info https://myrepo.svn.beanstalkapp.com/project/name/folder 2>&1', $output, $returnStatus); 
if ($returnStatus) 
{ 
    print_r($output); 
} 

私が得る応答は次のとおりです。

Array 
(
    [0] => Authentication realm: SVN 
    [1] => Password for 'apache': Authentication realm: SVN 
    [2] => Username: svn: PROPFIND request failed on '/project/name/folder' 
    [3] => svn: PROPFIND of '/project/name/folder': authorization failed (https://myrepo.svn.beanstalkapp.com) 
) 

私はそれにはPleskを持っているボックスでスクリプトを実行していますよ。それはローカルで最終的に実行されるので、設定上の問題であると思われます(これは私がオンラインで答えを見つけることはできません)。

私は、認証領域にアクセスできるようにする方法を知りません - 私はそれが手元にあると信じています。

あなたはログイン資格情報を提供する必要が
+0

それはhttpsで基本的な認証を使用するようです。だから、 'svn --password ... --username ...'を使ってリクエストを実行すれば十分でしょう。 – mario

+0

私はまだそのエラーをスローします。私が使用している正確なコマンドは、svn info --username myuser --password pass https://myrepo.svn.beanstalkapp.com/project/name/folder 2>&1 - は同じエラーを返します。 :-( –

+1

テストに '--no-auth-cache --non-interactive'オプションを追加することもできますか?そうでない場合は、$ HOMEと$ USERを正しく実行したアカウントに'最後の手段として、 'apache'ユーザ(サンドボックス/刑務所/ selinux/etcで動くかもしれません)の代わりに、' sudo'がそのアカウントの下であらゆる対話を実行するように設定してください。 – mario

答えて

2

から--username--passwordを(または資格情報は、アプリケーションを実行しているユーザーのために〜/ .subversionに格納されていることを確認してください)

そして、なぜあなたは、いくつかのクライアントライブラリを使用していませんphpsvnclientのように - http://code.google.com/p/phpsvnclient/

+0

私はphpsvnclientを使用します。それは非常に友好的ではない、またはサポートされていないようです。実際には、ユーザー名とパスワードをURL(http:// username:password @ http://myrepourl.beanstalkapp.com)で渡していました。そのエラーは...私はそれが構成エラーまたは何かだと思う...多分Apacheユーザーはその "領域"にアクセスする権限を持っていない? –

+0

デビッドD. - 'svn info --username として試しましたか? -password https:// myrepo.svn.beanstalkapp.com/project/name/folder' – manojlds

関連する問題