Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我明确指出PHP CURL应该通过TLS连接时,为什么PHP CURL要尝试通过SSLv3连接?_Php_Ssl_Curl_Osx Elcapitan - Fatal编程技术网

当我明确指出PHP CURL应该通过TLS连接时,为什么PHP CURL要尝试通过SSLv3连接?

当我明确指出PHP CURL应该通过TLS连接时,为什么PHP CURL要尝试通过SSLv3连接?,php,ssl,curl,osx-elcapitan,Php,Ssl,Curl,Osx Elcapitan,环境: Mac OS X El Capitan 10.11.3 PHP Version 5.6.6 cURL Information 7.38.0 SSL Version OpenSSL/0.9.8zd 获取HTTPS页面时出现以下错误: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 根据其他SO问题,这听起来像是通过SSL3而不是TLS连接的问题,但即使添加了以下内容,

环境:

Mac OS X El Capitan 10.11.3
PHP Version 5.6.6
cURL Information    7.38.0
SSL Version OpenSSL/0.9.8zd
获取HTTPS页面时出现以下错误:

error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
根据其他SO问题,这听起来像是通过SSL3而不是TLS连接的问题,但即使添加了以下内容,我仍然得到了错误:

curl_setopt($curl_connection, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($curl_connection, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
有人能帮我找出为什么我仍然得到sslv3错误吗?尽管被告知通过TLS连接,但它似乎仍在尝试通过SSLv3连接

编辑: 我已经发布了一篇文章来说明这个问题。在环境中不起作用,因为它不支持CURL,但它演示了这个问题。请注意,我已将代码上载到生产服务器,代码在那里运行良好,从而导致预期的
301永久移动
响应。但在当地,我得到了:

RESULTS: CURL error fetching url https://seo.com: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure EOM
编辑:
从命令行执行curl似乎效果不错。当使用PHP CURL执行时,我得到了错误

也许有什么问题?(卷曲虫)不,不是问题。我尝试了他们从命令行执行的命令,它通过TLS连接而没有问题。事实上,我在终端中尝试了与PHP CURL相同的URL,它在TLS 1.2上运行良好。我不相信这就是问题所在。SSLv3和TLSv1.0非常相似,因此可能就是这样的结果。OpenSSL 0.9.8版本不支持任何比1.0更新的TLS版本,并且curl从7.39.0开始默认完全禁用了SSLv3。。。