繁体   English   中英

错误PHP 7.0和SSL TLS 1.0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM