1

owncloud webdav インターフェイスにアクセスして、ルート ディレクトリにあるファイルのリストをPEAR WebDAV Clientから取得しようとしています。私は次のことを試みています:

include("HTTP/WebDAV/Client.php");
$client = new HTTP_WebDAV_Client_Stream();

$user="admin";
$pass = "q1w2e3r4";

$dir = "webdavs://".$user.":".$pass."@127.0.0.1:10081/owncloud/remote.php/webdav/";

$stuff = $client->dir_opendir($dir, array());
var_dump($stuff);
var_dump($client->dirfiles);

コードはfalse、falseを出力し、デバッグしようとすると、関数を呼び出そうとしたときに、Socket.phpで接続拒否エラーが発生しました

fsockopen("127.0.0.1", 10081, $err, $errstr);

ただし、このサーバーにアクセスして死体からディレクトリを一覧表示できるため、さらに奇妙です。$dirまた、変数を置き換えることで、コードでテスト DAV サーバーにアクセスできます。

$dir = "webdavs://".$user.":".$pass."@127.0.0.1:10081/owncloud/remote.php/webdav/";
4

1 に答える 1

1

これは醜いハックですが、次のようなものを追加すると:

 var_dump($err->getMessage()); 

739 行目の /usr/share/php/HTTP/Request.php にアクセスすると、最も関連性の高いエラー メッセージが表示されるはずです。(それが Request.php がインストールされた場所である場合。)

残念ながら、基になる HTTP_Request パッケージには、その特定のエラー メッセージを HTTP_WebDAV_Client_Stream コードに戻すメカニズムが用意されていないようです。

于 2014-07-24T21:19:29.850 に答える