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中文網其他相關文章!