我的脚本有ignore_user_abort(TRUE);在顶部我称之为
$socket = curl_init("http://...");
curl_setopt($socket, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($socket, CURLOPT_TIMEOUT_MS, 1000);
$result = curl_exec ($socket);
curl_close($socket);
这个脚本做了一些无聊的工作,我想在后台运行,并从脚本开始执行该工作的结果判断,但不久之后它就会停止。我已经尝试过我所知道的一切,现在我真的被困住了。可能有一些服务器配置可以阻止ignore_user_abort()?如果您对此有任何想法,请与我们联系。
PS。 set_time_limit()设置为一个较高的值,cpanel将所有错误捕获到错误日志中,因此它不会导致致命错误。
答案 0 :(得分:0)
curl_setopt($socket, CURLOPT_TIMEOUT_MS, 1000);
这里你定义允许cURL函数执行为1000的最大毫秒数...所以你允许你的curl函数只运行一秒......也许这就是它
答案 1 :(得分:0)
1)PHP不会每次都检测到连接中止。可能是它的一个bug。 2)如果您正在处理经销商/共享托管,那么您将无法更改ignore_user_abort,set_time_limit等的值。