PHP Curl:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112)
Posted
技术标签:
【中文标题】PHP Curl:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112)【英文标题】:PHP Curl: SSL routines:SSL23_GET_SERVER_HELLO:reason(1112) 【发布时间】:2013-08-14 00:58:55 【问题描述】:我正在尝试执行 HTTPS 请求:
curl_setopt($curl, CURLOPT_URL, 'https://***.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiesFile);
curl_setopt($curl, CURLOPT_VERBOSE, true);
$out = curl_exec($curl);
请求后,$out 为空,我得到了这个日志:
* About to connect() to ***.com port 443 (#0)
* Trying *.*.*.*...
* connected
* Connected to ***.com (*.*.*.*) port 443 (#0)
* error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
* Closing connection #0
为什么?
【问题讨论】:
你的 php 和 openssl 平台和版本是什么?检查phpinfo();
Google 上的第一次点击 指向 SO 上的一个问题,该问题解释了为什么会发生这种情况:***.com/questions/8619706/… - 糟糕的研究如何。
@fvu,谢谢,curl_setopt($ch, CURLOPT_SSLVERSION,3);为我工作。
@Waygood,PHP 5.4.10,OpenSSL/0.9.8x,Mac OS X 10.8.4
【参考方案1】:
修复:
curl_setopt($ch, CURLOPT_SSLVERSION,3);
【讨论】:
非常感谢伙计。只是补充一下,因为最好利用 SPL 定义的常量,如下所示:curl_setopt($ch, CURLOPT_SSLVERSION,CURL_SSLVERSION_SSLv3);
错误:SSL:无法创建上下文:错误:140A90C4:SSL 例程:SSL_CTX_new:null ssl 方法已通过【参考方案2】:
如果您使用 PRTG 并收到此错误,请转到设置并将“SSL V2 或 V3”更改为“SSL V3”。
【讨论】:
以上是关于PHP Curl:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112)的主要内容,如果未能解决你的问题,请参考以下文章
cURL 错误 (35):错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 无法识别的名称
错误:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败
PayPal IPN OPENSSL 错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败
贝宝错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败在 laravel
无法解决此错误:错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:reason(1112) - 关于尝试啥的任何想法?