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>
위 내용은 'SOAP-ERROR: WSDL 구문 분석: [URL]에서 로드할 수 없습니다. 외부 엔터티 [URL]을 로드하지 못했습니다.' 메시지와 함께 PHP SOAP 연결이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!