首页 > 解决方案 > PHP 上的 CURL 版本支持

问题描述

我在使用 twitter API 时遇到问题并出现错误:

错误:“SSL 连接错误” - 代码:35

我已经看到这可能是 cURL 版本问题,需要更新。

目前我们有7.19.7版本,我相信我们至少需要到7.42(最新的是7.65.3)

我们有 php 版本 5.6.31,有谁知道这些是否受支持或升级是否有任何问题?

无法在任何地方找到任何支持的平台信息。

我们正在使用 TwitterOAuth:

配置调用如下:

function http($url, $method, $postfields = NULL) {
    $this->http_info = array();
    $ci = curl_init();
    /* Curl settings */
    curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);
    curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);
    curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);
    curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ci, CURLOPT_HTTPHEADER, array('Expect:'));
    curl_setopt($ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader'));
    curl_setopt($ci, CURLOPT_HEADER, FALSE);

    curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ci, CURLOPT_SSLVERSION,1); 

标签: phpunixcurl

解决方案


我有一个类似的问题,我通过我的 Curl 调用中的这些更改解决了它。

  • 将 CURLOPT_SSL_VERIFYPEER 更改为 false
  • 将 CURLOPT_SSL_VERIFYHOST 更改为 false
  • 将 CURLOPT_SSLVERSION 更改为 1,或服务器使用的版本。

无论如何,能够看到您正在拨打的电话会很有帮助。


推荐阅读