【问题标题】:Getting curl_error(): 2 is not a valid cURL handle resource while fetching all users from freshdesk api从freshdesk api获取所有用户时获取curl_error():2不是有效的cURL句柄资源
【发布时间】:2013-10-18 06:27:19
【问题描述】:

我正在创建自己的系统来管理来自freshdesk.com 通过其API 的所有票证。我正在发出 curl 请求以从freshdesk.com 获取数据。通过获取与股票代码相关的数据,它可以正常工作,但是当我通过 curl 请求请求所有用户时,它会给我错误:

警告: curl_errno(): 2 在第 28 行的 C:\wamp\www\test.php 中不是有效的 cURL 句柄资源。

我的代码是这样的:

$ch = curl_init();  
$cOption = array(
    CURLOPT_URL            => 'http://velocity.freshdesk.com/contacts.xml',
    CURLOPT_HEADER         => 0,
    CURLOPT_USERPWD        => "$email:$password",
    CURLOPT_POST           => false,
    CURLOPT_HTTPHEADER     => array('Content-Type: application/xml'),
    CURLOPT_HTTPAUTH       => CURLAUTH_BASIC,
    CURLOPT_FAILONERROR    => 1,
    CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSLVERSION     => 2
);  
@curl_setopt_array( $ch, $cOption );  
curl_close($ch);
echo curl_errno($ch);  //line 28
echo curl_error($ch);  //line 29
echo $ch_result;  

输出为:
警告: curl_errno(): 2 不是第 28 行 C:\wamp\www\test.php 中的有效 cURL 句柄资源。
警告: curl_errno(): 2 不是第 29 行 C:\wamp\www\test.php 中的有效 cURL 句柄资源。
1 // echo $ch_result 的输出

请帮助我找出代码有什么问题以及为什么会出现此警告。

【问题讨论】:

  • 你也可以使用 if (is_resource($ch)) { curl_close($ch); } 以避免警告。

标签: php curl ticket-system


【解决方案1】:

您在关闭$ch 后使用curl_errnocurl_error。这是不对的。

您需要在获取错误信息后关闭您的$ch

echo curl_errno($ch);
echo curl_error($ch);
curl_close($ch);

您也没有为$ch_result 设置任何内容。如果您期望它包含您的请求的结果,那您就错了。要解决此问题,您需要添加选项 CURLOPT_RETURNTRANSFER 并使用 $ch_result = curl_exec($ch); 获取结果

【讨论】:

    【解决方案2】:
    echo curl_errno($ch);
    echo curl_error($ch);
    

    必须在curl_close($ch);之前调用

    【讨论】:

      【解决方案3】:

      您在关闭$ch 后使用curl_errnocurl_error。这是不对的。

      您需要在获取错误信息后关闭您的$ch

      的确如此,我得到了答案。

              $data = curl_exec($ch);
              if (!curl_errno($ch)) {
               ....
              }
              curl_close($ch);
      

      【讨论】:

        猜你喜欢
        • 2014-05-03
        • 2019-08-03
        • 1970-01-01
        • 2012-09-05
        • 2016-05-05
        • 2011-03-02
        • 1970-01-01
        • 2011-04-25
        • 1970-01-01
        相关资源
        最近更新 更多