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) - 关于尝试啥的任何想法?

SSL23_GET_SERVER_HELLO:sslv3 alert 握手失败 Paypal 自适应支付