PHP 8.1 は内部クラス SoapClient の機能を壊しますか?
P粉615886660
P粉615886660 2023-12-12 22:52:40
0
1
508

PHP の SoapClient を使用し、PHP 8.1 と互換性のあるライブラリを作成しているときに、次の問題に遭遇しました:

SoapClient のすべてのプロパティは、以前はパブリックでしたが、現在はプライベートです。 そのため、最後の SOAP エラー ($soapClient->__soap_fault) を取得するようなことはもう不可能になります。しかし、何か問題が発生した場合、SoapClient のほとんどのメソッドは null を返すため、問題の内容を知る唯一の方法は、アクセスできなくなった __soap_fault を取得することです。

SoapClient プロパティにアクセスできない場合、メソッド __doRequest を使用するにはどうすればよいですか?

P粉615886660
P粉615886660

全員に返信(1)
P粉969666670

古い SoapClient ドキュメントを見ると、プロパティに直接アクセスすると常にエラーになるようです - php7.2 の場合、たとえばバックホール マシンによっては、__soap_fault がまったくドキュメント化されていません(https:///web.archive.org/web/20171211100753/http://us3.php.net/manual/en/class.soapclient.phpを参照)

ドキュメントの説明は次のとおりです:

私が言いたいのは、($options['例外'] => true を SoapClient コンストラクターに渡すことによって) 例外を有効にし、これらの例外を try/catch# # #それに応じて。これで解決しない場合は、正しく処理されなかった特定のエラーを含む新しい質問の方が役立つ可能性があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート