PHP:无法使ignore_user_abort(TRUE)正常工作

时间:2010-07-13 20:07:43

标签: php curl

我的脚本有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将所有错误捕获到错误日志中,因此它不会导致致命错误。

2 个答案:

答案 0 :(得分:0)

curl_setopt($socket, CURLOPT_TIMEOUT_MS, 1000);

这里你定义允许cURL函数执行为1000的最大毫秒数...所以你允许你的curl函数只运行一秒......也许这就是它

http://php.net/manual/en/function.curl-setopt.php

答案 1 :(得分:0)

1)PHP不会每次都检测到连接中止。可能是它的一个bug。 2)如果您正在处理经销商/共享托管,那么您将无法更改ignore_user_abort,set_time_limit等的值。