[英]PHP Soap Client cannot load https wsdl link
我一直在嘗試通過 php soapclient 加載特定的 https wsdl。 我得到的錯誤是:
SOAP-ERROR: Parsing WSDL: Couldn't load from ' https://xxxx.com?wsdl ': failed to load external entity " https://xxxx.com?wsdl " Moreover I also try to "Curl https:/ /xxxx.com?wsdl ”也是如此。 我得到的錯誤是:
curl: (35) 錯誤:141A318A:SSL 例程:tls_process_ske_dhe:dh 鍵太小
我可以通過瀏覽器查看特定的 wsdl。 Curl 與 http 而不是 https 返回正確的響應。
奇怪的是,我的同事在他的機器上安裝了 ubuntu 18.04,他沒有任何問題。 供您參考,我安裝了 debian 10 並且我們都有相同的 IP 地址。
我真的不明白問題出在哪里。
您應該在構造 SoapClient 實例時嘗試禁用證書驗證
$context = stream_context_create([
'ssl' => [
// set some SSL/TLS specific options
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]);
$client = new SoapClient($url, [
... ( other params )
'stream_context' => $context
]);
如果您從命令行使用 curl,您可以使用 --insecure/-k 標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.