[英]Error PHP 7.0 and SSL TLS 1.0
我在SoapClient和PHP 7.0解析wsdl时遇到问题。
我收到此错误:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://ws.ocasa.com/testecommerce/service.asmx?wsdl' : failed to load external entity "https://ws.ocasa.com/testecommerce/service.asmx?wsdl"
如果将此URL放在浏览器中,则可以看到SOAP,并且在SoapUI中也可以正常工作。
我正在使用laravel 5.4,我的代码是:
$client = new \SoapClient('https://ws.ocasa.com/testecommerce/service.asmx?wsdl',
['soap_version'=>SOAP_1_2]);
我注意到该网站位于SSL TLS 1.0下。 如果我将PHP更改为5.6,则可以完美运行,但对于PHP 7.0,则无法运行。
如果我更改为其他WSDL:
https://id3check.gb.co.uk/gbportalinternational/aspx/id3check_1b.asmx?WSDL
一切正常。
谢谢
您可以选择忽略不良证书:
$endpoint = new SOAPClient($url,
array(
'soap_version'=>SOAP_1_2,
'stream_context' => stream_context_create(
array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
)
)
)
);
如果您无权访问Soap服务器来更正证书,或者如果不能使您的服务器接受证书,那么这将是一个解决方案。
这应该是最后的解决方案,因为实际上您忽略了所有警告,出了问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.