SOAP PHP 解析 WSDL 错误:无法加载外部实体
尝试使用 PHP 建立 SOAP 连接时,您可能会遇到以下错误“SOAP-错误:正在解析 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中文网其他相关文章!