关闭/停止页面后PHP脚本继续

时间:2013-10-02 21:58:55

标签: php exit

即使关闭或停止页面,似乎php脚本仍然继续。

例如,如果我的脚本是由...运行的 /localhost/test.php

关闭页面后,有时会继续运行。我很确定重新启动apache会清除它,但有一种更好的方法可以在启动后终止php脚本。

2 个答案:

答案 0 :(得分:2)

检查一下:http://php.net/manual/en/function.ignore-user-abort.php

设置客户端断开连接是否会导致脚本中止。

答案 1 :(得分:2)

您可以使用ignore_user_abort但我认为只有在您将PHP作为命令行脚本运行时才适用。

从浏览器运行脚本时,根据我的经验,我已经意识到脚本在浏览器关闭后仍在运行。我没有进一步检查它们曾经运行多久。

执行大量处理的脚本可以运行很多分钟,我曾经控制如下:

  • 考虑一个标志变量,该变量存储在数据库表中。
  • 提供了设置标记OnOff(或10)的方法。
  • 如果发现标志为Off(或0),则会在脚本中检查该标志并停止运行脚本。

考虑该标志的一种方法是循环如下:

while(true)
{
    /* Your code here which probably does lot of processing */

    if($flag === false) break; // Or exit if you prefer
}

如果您有需要在循环后运行的代码,则可以使用break
如果您想突然停止脚本,则可以使用exit代替它。< / p>