我已经完成了所有提示和答案,但似乎找不到正确的解决方案。
我的卷曲如下
$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 - 这应该已经捕获了错误,但它并没有让我更加沮丧。