我将 cUrl 与 Php(最新稳定的 Ubuntu 版本)结合使用来获取远程 https 页面,并且 curl_exec 在达到超时后返回 false。显然我正在使用这些设置:
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, 0);
使用 wireshark,似乎服务器在“Client Hello”后没有应答。 一些奇怪的事实:
- 用 perl 编写的相同脚本在同一台机器上通过 CLI 运行
- 运行旧机器的完全相同的代码可以正常工作
提示?有人建议重新编译 curl 和 openssl ...我可以在开发机器上做,但生产服务器有同样的问题,为了便于维护,我想只保留原始数据包... 谢谢!
最佳答案
解决方法:
curl_setopt($soap_do, CURLOPT_SSLVERSION, 3);
关于PHP cUrl ssl 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11810902/