PHP / Laravel:cURL错误56:SSL读取:错误:00000000:lib

时间:2016-10-20 11:45:07

标签: php laravel ssl curl cpanel

我在laravel应用程序中的一个函数上出现此错误。昨天一切正常。

  

cURL错误56:SSL读取:错误:00000000:lib(0):func(0):reason(0),errno 104(参见http://curl.haxx.se/libcurl/c/libcurl-errors.html

     

在CurlFactory.php第187行中   CurlFactory :: createRejection(object(EasyHandle),array('errno'=>   '56','错误'=> 'SSL读取:错误:00000000:lib(0):func(0):reason(0),   errno 104','url'=>   'https://server7.phasehosting.io:2087/json-api/dumpzone?&domain=phasedev.be',   'content_type'=> null,'http_code'=> '0','header_size'=> '0',   'request_size'=> '1174','filetime'=> '-1','ssl_verify_result'=>   '0','redirect_count'=> '0','total_time'=> '2.30737',   'namelookup_time'=> '0.004516','connect_time'=> '0.02006',   'pretransfer_time'=> '0.06986','size_upload'=> '0','size_download'   => '0','speed_download'=> '0','speed_upload'=> '0','download_content_length'=> '-1','upload_content_length'=> '-1',   'starttransfer_time'=> '0','redirect_time'=> '0','redirect_url'=>   '','primary_ip'=> '37 .97.192.223','certinfo'=>阵列(),   'primary_port'=> '2087','local_ip'=> '10 .0.2.15','local_port'=>   '48858'))在CurlFactory.php第150行

当我为API调用指定了错误的参数时,我得到了一个服务器错误响应,我需要定义正确的参数,当我指定正确的参数时,我得到了Curl错误。

当使用邮递员发出请求时,我得到了成功的回复

其他API调用可以按预期工作。所以我现在很困惑。我应该在哪里看?

这是运行查询的函数:

    protected function runQuery($action, $arguments)
    {
        $host = $this->getHost();
        $client = new Client(['base_uri' => $host]);
        try{
          $response = $client->post('/json-api/' . $action, [
              'headers' => $this->createHeader(),
              // 'body'    => $arguments[0],
              'verify' => false,
              'query' => $arguments,
              'timeout' => $this->getTimeout(),
              'connect_timeout' => $this->getConnectionTimeout()
          ]);

          return (string) $response->getBody();
        }
        catch(\GuzzleHttp\Exception\ClientException $e)
        {
          return $e->getMessage();
        }
    }

2 个答案:

答案 0 :(得分:0)

你使用哪个版本的Guzzle?确保它不是过时的。最近,由于BC问题,Guzzle碰撞了版本。

答案 1 :(得分:0)

我遇到了这个问题,终于解决了。 在将任何内容压入页眉之前,请确保将其echo推出。您还可以一次使用dd($some_header_variable)并注意每个标题变量。 特别注意保存URL值的变量。 就我而言,我拥有的标头变量之一没有解析为正确的值。不幸的是,看来,耗时不对标头进行任何错误处理。

对于您的情况,首先,尝试在浏览器中访问dd($host),并断言显示了$host的预期值。