3

私は、SOAPサービスを使用しているPHP SOAPライブラリで何が起こっているのかを本当に理解していません。それはうまく機能していますが、「致命的なエラー:SOAP-エラー:WSDLの解析:........」をよく知っています。

Xdebugがオンになっているため、このエラーはキャッチできず、解決策はエラーをキャッチできるように無効にすることです...

しかし、私は動作しません!エラーはオレンジと赤の色で表示されますあなたは考えがありますか?

(私はwampの最後のバージョンを使用していますが、64ビットと32ビットのどちらを選択したかを確認する方法はわかりませんが、Apache 2.2.22、php 5.3.13です)

よろしくお願いします!:)

<?php
xdebug_disable();
try {
  $sc = new SoapClient("some-wrong.wsdl", array('exceptions' => true));
} catch (Exception $e) {
  echo 'Error Caught :-)';
}
?>

私はそれを追加したい:

時々私は2つの警告と1つのエラーがあります

 - Warning: SoapClient::SoapClient -> "failed to open stream ..."
 - Warning: SoapClient::SoapClient -> "failed to load external entity ..."
 - Fatal error: SOAP-ERROR: Parsing WSDL -> "Couldn't load from ..."

そして時々、致命的なエラーだけ

new SoapClient(.....の行の直後にエコーを配置しましたが、キャッチされていないエラーがあると、エコーが表示されません。

'trace' => 1、'exceptions'=>1でSoapClientを呼び出すことを追加する必要があります

そして私はこれをapacheエラーログに持っています(**非表示に使用されます)

[Thu Jan 31 16:16:02 2013] [error] [client 127.0.0.1] PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found\n in D:\\Programmes\\wamp\\www\\******.php on line 144, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Warning:  ||| faultcode: WSDL ||| faultstring: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found\n ||| in D:\\******.php on line 201, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Fatal error:  Call to a member function __getLastRequestHeaders() on a non-object in D:\\Programmes\\wamp\\www\\******.php on line 204, referer: http://localhost/******.php

私は新しいメンバーであり、8時間前に自分のメッセージに答えることができないため、最初のメッセージを編集します

そのため、今朝、apacheのデフォルトのスタックサイズを変更しました。これは、apacheがapacheエラーログの次の行だけでクラッキングしていたためです。[通知]親:子プロセスがステータス255で終了しました-再起動しています。

  • ビジュアルベーシック2012をインストールしました(評価;))
  • Visual Basicコマンドコンソールを使用しました([スタート]> [Micrososft Visual Studio 2012]> [Visual Studioツール])
  • 「cd***my_path_taining_apache_bin_directory * * \ bin dumpbin / all httpd.exe | find "stack"」(「スタックリザーブの40000サイズ」でした)と入力して、種雄牛をチェックしました。
  • editbin / stack:1048576httpd.exeと入力してサイズを大きくします
  • そして、httpd.exeファイルに管理者を正しく配置してWANPを終了することを忘れないでください!!! (これが原因で朝を失いました!、editbinがLINKエラーを返していました!!)

->これを行った後、WSDLでキャッチされないエラーが発生したので奇妙ですが、数時間はこの種のエラーは発生していません。正しく接続できるのは、使用しているプロキシリストだけである可能性があります。 ?

4

3 に答える 3

0

SOAP 拡張機能はいくつかの奇妙なことを行い、内部の PHP エラーハンドラーをオーバーライドします。これは、Xdebug のエラー オーバーライド メカニズムと少し競合します。ただし、完全なエラーメッセージを含めてください。おそらく、そこから回答を更新できます。

于 2013-01-31T14:47:53.907 に答える