0

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

我的卷曲如下

$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是页码

假设服务器始终具有 Internet 连接,则此 cURL 按预期工作。作为开发人员,我们需要在 cURL 无法连接到服务器时收到错误消息。

问题是什么?

为了让我真正设置错误消息,我需要先知道错误是否发生。这对我来说很奇怪。我试图通过禁用服务器的互联网适配器来模拟连接失败。

结果是:

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

我尝试了什么?

我试过了

  • PHP curl_error()- 由于脚本停止在curl_exec
  • PHP curl_errno()- 相同
  • try and catch - 这应该已经捕获了错误,但它并没有让我更加沮丧。
4

0 回答 0