怎么解决PHP SOAP-ERROR问题
程序员文章站
2022-06-03 19:50:16
...
解决PHP SOAP-ERROR问题的方法:首先通过“openssl_get_cert_locations”获取默认证书路径;然后下载证书;最后保存到目录即可解决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中文网!
推荐阅读
-
Win10壁纸模糊怎么办?Win10壁纸模糊问题的解决方法
-
php_xmlhttp 乱码问题解决方法
-
php Sql Server连接失败问题及解决办法
-
没有路由器怎么连无线 160wifi 解决没有路由器连接无线问题
-
PHP的foreach中使用引用时需要注意的一个问题和解决方法
-
PHP中遇到的时区问题解决方法
-
解决php的“It is not safe to rely on the system’s timezone settings”问题
-
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
-
dnscrypt怎么用?使用dnscrypt解决dns污染问题
-
Sketchup突然崩溃怎么找回文件并解决闪退问题?