这是我的PHP代码
`**
/* some php code - top */
/* curl request logic start */
$ch = curl_init("https://api.abc.com/xyz");
$response = curl_exec($ch);`
if (curl_errno($ch))
{
$error_msg = curl_error($ch);
}
curl_close($ch);
if (isset($error_msg))
{
echo 'Curl error: ' . $error_msg;
}
else
{
echo $response;
}
/* curl request logic end */
/* some php code - bottom */
?>**`
我的问题是,如果“https://api.abc.com/xyz”的服务器关闭/无法访问,整个 php 脚本执行就会冻结。
我想要的是,即使api“https://api.abc.com/xyz”关闭,/*一些php代码-顶部/和/一些php代码-底部*/指示的php代码应该被执行并且页面不应该完全挂起/冻结。
任何建议将不胜感激......!
谢谢你
我尝试过curl错误处理,但似乎不起作用。
您可以通过以下方式设置卷曲连接和响应请求的超时:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); //connect timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 6); //timeout wait response in seconds