解決 PHP SOAP-ERROR: Parsing WSDL: Couldn't load from 問題


PHP Fatal error:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://xxxx.com'.

這個錯誤是我從PHP5.6升級到php7.2的時候遇到的問題,從google搜索后發現很多人出現這個問題,一直沒有找到好的結果,知道一個文章里面找到下面的代碼

$opts = array(
            'http' => array(
                'user_agent' => 'PHPSoapClient'
            ),
            'ssl'   => array(
               'verify_peer'          => false
            ),
        );
        $context = stream_context_create($opts);

$requestUrl = 'https://labelserver.endicia.com/LabelService/EwsLabelService.asmx?wsdl';
        $client = new SoapClient($requestUrl, array("trace" => 1, "cache_wsdl" => WSDL_CACHE_NONE, "exception" => 1, 'stream_context' => $context));

問題的主要是 SSL認證失敗

通過openssl_get_cert_locations 獲取默認證書路徑。

openssl_get_cert_locations()

rray(8) {
  ["default_cert_file"]=>
  string(21) "/usr/lib/ssl/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/usr/lib/ssl/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/usr/lib/ssl/private"
  ["default_default_cert_area"]=>
  string(12) "/usr/lib/ssl"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""

下載證書,並保存到目錄,后問題得到解決

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM