gpt4 book ai didi

PHP SoapClient::SoapClient 失败:SSL:握手计时且无法启用加密

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:57 29 4
gpt4 key购买 nike

以下所有内容都在 Amazon EC2 中运行

几个月来我一直在使用 ExactTarget 的 API 发送电子邮件,但它在我的 QA 环境中停止工作了。以下所有代码在我的生产环境中都能正常工作。他们的 SDK 提供了一个名为 ET_Client 的类,它扩展了内置的 PHP SoapClient。有问题的代码行是对

的调用
parent::__construct($wsdl, array('trace'=>1, 'exceptions'=>0,'connection_timeout'=>120)

这只是对 SoapClient 构造函数的调用。

我在日志文件中遇到的错误如下:

[26-Jul-2017 13:42:52 America/New_York] PHP Warning: SoapClient::SoapClient(): SSL: Handshake timed out in /var/www/vhosts/qa.devepc.com/repo/httpdocs/lib/vendor/exacttarget/fuel-sdk-php/ET_Client.php on line 74 [26-Jul-2017 13:42:52 America/New_York] PHP Warning: SoapClient::SoapClient(): Failed to enable crypto in /var/www/vhosts/qa.devepc.com/repo/httpdocs/lib/vendor/exacttarget/fuel-sdk-php/ET_Client.php on line 74 [26-Jul-2017 13:42:52 America/New_York] PHP Warning: SoapClient::SoapClient(https://webservice.exacttarget.com/ETFrameworkFault.xsd): failed to open stream: operation failed in /var/www/vhosts/qa.devepc.com/repo/httpdocs/lib/vendor/exacttarget/fuel-sdk-php/ET_Client.php on line 74 [26-Jul-2017 13:42:52 America/New_York] PHP Warning: SoapClient::SoapClient(): I/O warning : failed to load external entity "https://webservice.exacttarget.com/ETFrameworkFault.xsd" in /var/www/vhosts/qa.devepc.com/repo/httpdocs/lib/vendor/exacttarget/fuel-sdk-php/ET_Client.php on line 74 [26-Jul-2017 13:42:52 America/New_York] PHP Fatal error: SOAP-ERROR: Parsing Schema: can't import schema from 'https://webservice.exacttarget.com/ETFrameworkFault.xsd' in /var/www/vhosts/qa.devepc.com/repo/httpdocs/lib/vendor/exacttarget/fuel-sdk-php/ET_Client.php on line 74

我还发现,在尝试将 file_get_contents() 与 SSL 资源一起使用时,我遇到了类似的错误。

这个命令:

php -r "var_dump(file_get_contents('https://google.com/'));"

给我以下内容。

[26-Jul-2017 18:06:13 UTC] PHP Warning: file_get_contents(): SSL: Handshake timed out in Command line code on line 1 [26-Jul-2017 18:06:13 UTC] PHP Warning: file_get_contents(): Failed to enable crypto in Command line code on line 1 [26-Jul-2017 18:06:13 UTC] PHP Warning: file_get_contents(https://google.com/): failed to open stream: operation failed in Command line code on line 1

问题可能是由于两个服务器之间的细微版本差异引起的,但是,它一直工作到 2017 年 7 月 13 日,并且自 2 月以来服务器没有更新。另外,我昨天更新了整个服务器,PHP 从 5.6.25 升级到 5.6.30。我的生产服务器是 5.6.22。

我已尝试通过使用传递给 stream_context_create 的选项操纵 SSL 流来解决此问题,但错误仍然存​​在。

当我搜索“无法启用加密”和“SSL:握手超时”时,我找到了很多将 curl 与流上下文一起使用的结果,但没有找到任何与 SoapClient 相关的结果。此外,我不想编辑 ExactTarget Fuel SDK 中的代码,因为我想让供应商库完好无损。

有没有人遇到过这个或类似的 soap 问题,如果有,是否有解决方案?

提前致谢。

最佳答案

php.ini

default_socket_timeout=-1  

可能会导致此错误。尝试将其设置为 -1 以外的值

关于PHP SoapClient::SoapClient 失败:SSL:握手计时且无法启用加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45334798/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com