SOAP PHP の WSDL 解析エラー: 外部エンティティのロードに失敗しました
PHP を使用して SOAP 接続を確立しようとすると、次のエラーが発生する場合があります「SOAP-ERROR: WSDL を解析中: [URL] から読み込めませんでした: 外部エンティティ [URL] の読み込みに失敗しました。」このエラーは、SOAP クライアントがクライアントのコンストラクターで参照されている WSDL ファイルにアクセスできないことを示します。
トラブルシューティングの手順:
<code class="php">$opts = array( 'ssl' => array( 'ciphers' => 'RC4-SHA', 'verify_peer' => false, 'verify_peer_name' => false ) ); $params = array( 'encoding' => 'UTF-8', 'verifypeer' => false, 'verifyhost' => false, 'soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 1, 'connection_timeout' => 180, 'stream_context' => stream_context_create($opts) ); $wsdlUrl = $url . '?WSDL'; $oSoapClient = new SoapClient($wsdlUrl, $params);</code>
注: SSL 検証を無効にするとセキュリティ上のリスクが生じるため、運用環境では使用しないでください。
<code class="php">ini_set("soap.wsdl_cache_enabled", "1"); ini_set("soap.wsdl_cache_ttl", "86400"); // 24 hours</code>
以上がPHP SOAP 接続が「SOAP-ERROR: WSDL の解析: [URL] から読み込めませんでした: 外部エンティティ [URL] の読み込みに失敗しました」というエラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。