如何处理PHP cURL的错误

时间:2016-06-08 10:24:16

标签: php curl try-catch php-curl

我已经完成了所有提示和答案,但我似乎无法找到正确的解决方案。

我的cURL如下

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $curlIP."api/sparts/search/");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "key=".$q."&page=".$pg);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data = curl_exec($curl);
curl_close ($curl);

这是做什么的?

它从服务器获取产品数据,其中$q是搜索键,$pg是页码

假设服务器始终具有互联网连接,则此cURL按预期工作。作为开发人员,只要cURL无法连接到服务器,我们就会收到错误消息。

有什么问题?

对于我实际设置错误消息,如果错误发生,我首先需要知道。这对我来说很奇怪。我试图通过禁用服务器的Internet适配器来模拟连接失败。

结果是:

页面停止解析$data = curl_exec($curl);之后的所有内容。这包括页脚和该行之后的所有内容。我知道这是因为我试图在curl_exec之前和之后放回声并且它真的停在那里。因此我无法捕捉到错误本身。

我尝试了什么?

我试过

  • PHP curl_error() - 由于脚本停在curl_exec
  • ,因此无法提供帮助
  • PHP curl_errno() - 同样
  • 尝试并抓住 - 这本应该抓住错误,但它并没有让我更加沮丧。

0 个答案:

没有答案