PHP cURL无法解析主机

Lau*_* W. -1 php curl

我从网站收集数据,有时似乎无法访问(或者,它可能只是DNS主机,有时会出现一些问题).用PHP编写的程序(使用CLI启动)退出并显示错误:

无法解析主机'abcdef.com'

我想拦截这个错误,就像异常一样,因为程序一定不能退出.

我尝试了"尝试捕获",但这不起作用.

我想避免使用外部守护进程来重启程序......

谢谢您的帮助.

编辑:使用的代码:

function goToPage($url) {
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_COOKIEFILE, realpath("./cookies/cookie.txt"));
        $ret = curl_exec($ch);
        if ($ret === FALSE) {
            die(curl_error($ch));
        }
        curl_close($ch);

        $this->delay();

        return $ret;
}
Run Code Online (Sandbox Code Playgroud)

Way*_*tty 5

你确定它实际上是在停止程序的执行吗?我的意思是,如果它不是例外......它不是例外.据我所知,cURL不会抛出任何异常或致命错误.您所看到的最有可能只是定期通知/警告.要确定您是否有cURL错误,您可以使用curl_errno()和curl_error()函数:

if(curl_errno($ch))
{
    echo 'error:' . curl_error($ch);
}
Run Code Online (Sandbox Code Playgroud)

或者,如果要抛出自定义异常:

//you'll probably want to customize this further based on the type of error.
if(curl_errno($ch)){
    throw new Exception( curl_error($ch) );
}
Run Code Online (Sandbox Code Playgroud)