我正在使用 PHP、cURL 和公共 API 来获取 json 字符串。这些 json 字符串的格式如下(简化,平均大小约为 50-60 kB):
{
"data": {},
"previous": "url",
"next": "url"
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是通过检查“next”属性来获取从第一个开始的所有 json 字符串。所以我有一个 while 循环,只要有“next”属性,我就会获取下一个 URL。
问题是有时,循环在结束前随机停止,经过多次测试后我无法弄清楚原因。
我说是随机的,因为有时循环到最后并没有出现问题。有时它会在 N 次循环后崩溃。
到目前为止,我无法提取任何信息来帮助我调试它。
我正在使用 PHP 7.3.0 并从 CLI 启动我的代码。
检查标题:
不返回标题。什么都没有。
使用 curl_errno() 和 curl_error():
我在执行请求 (curl_exec($ch)) 后立即尝试了以下代码,但它从未触发。
if(curl_errno($ch)) {
echo 'curl error ' . curl_error($ch) . PHP_EOL;
echo 'response received from curl error :' . PHP_EOL;
var_dump($response); // the json string I should get from the server.
}
Run Code Online (Sandbox Code Playgroud)
检查响应是否返回 null: …