【发布时间】:2016-02-09 13:40:18
【问题描述】:
我正在使用 PHP 5.3 上的 TLS1.1 连接到远程服务器。
使用 Zend Framework 2 时出现错误:
$client = new Client('https://www.example.com/');
$curlAdapter = new Client\Adapter\Curl();
$curlAdapter->setCurlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_1);
$client->setAdapter($curlAdapter);
$client->send();
结果:cURL 请求错误:SSL 连接错误
添加这个可以解决问题,但显然不太安全
$curlAdapter->setCurlOption(CURLOPT_SSL_VERIFYHOST, 2);
$curlAdapter->setCurlOption(CURLOPT_SSL_VERIFYPEER,false);
结果:有效
使用原生 PHP 命令发出请求可以正常工作:
$c = curl_init('https://www.example.com/');
$options = array(
CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_1,
);
curl_setopt_array ($c ,$options );
curl_exec($c);
返回页面的内容。
所以 PHP 可以工作,但 ZF2 不能,除非 VerifyPeer = false。有什么问题?
【问题讨论】:
标签: php curl https zend-framework2