1

PHP の SoapClient (Zend Framework の Soap Client でラップ) を介してアクセスする SOAP WS があります。Web サービスは https を介して実行され、呼び出しにはかなりの時間がかかります (それぞれ数分)。

SoapClient の同じインスタンスを介して 4 つの呼び出しを次々と行っています。ただし、しばらく実行した後、ランダムな時点で (常に同じメソッド呼び出しであるとは限りません)、次のエラーが表示されます。

警告: SoapClient::__doRequest(): SSL: pathtomyfile の壊れたパイプ

4

2 に答える 2

3

なぜこれが起こったのかはまだわかりませんが、追加の洞察と回避策があります。

この問題は、実行に非常に時間がかかった SOAP 呼び出しの後で、別の要求に同じ接続を使用しようとしたときに発生します。最初の呼び出しは成功しますが、新しい呼び出しでエラーが発生します。

これは、接続を同じにする必要がない限り (通常は SOAP Web サービスの場合)、呼び出し間の接続をリセットするだけでよいことを意味します。リソースの最も効率的な使用法ではありませんが、問題なく動作します。

于 2011-05-27T03:25:46.383 に答える
3

を追加することがわかりました

'keep_alive' => false

するオプション

new SoapClient($url, $options)

私のために問題を解決しました。

ここに関連するバグレポートがありますが、それ以外のドキュメントはほとんどありません: https://bugs.php.net/bug.php?id=60329

于 2016-11-17T01:23:31.517 に答える