怎么解决PHP SOAP-ERROR问题

PHPz
リリース: 2020-09-04 16:49:54
オリジナル
3323 人が閲覧しました

解决PHP SOAP-ERROR问题的方法:首先通过“openssl_get_cert_locations”获取默认证书路径;然后下载证书;最后保存到目录即可解决PHP SOAP-ERROR问题。

怎么解决PHP SOAP-ERROR问题

怎么解决PHP SOAP-ERROR问题?

解决 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) ""
ログイン後にコピー

下载证书,并保存到目录,后问题得到解决

 更多相关知识,请访问PHP中文网

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!