【发布时间】:2010-11-28 12:55:42
【问题描述】:
如何编写一个继续运行的 PHP 脚本,即使在清除一些文本并结束 HTTP 请求之后也是如此?这可能吗?
【问题讨论】:
标签: php http scripting webserver
如何编写一个继续运行的 PHP 脚本,即使在清除一些文本并结束 HTTP 请求之后也是如此?这可能吗?
【问题讨论】:
标签: php http scripting webserver
您可能对ignore_user_abort 配置指令和/或ignore_user_abort 函数感兴趣:
设置客户端是否断开连接 应该会导致脚本中止。
使用这个,你可以:
用户的浏览器可能仍会显示“等待”或“正在加载”,但页面内容将被加载并显示——即使用户按下“停止”,您的脚本仍应继续执行。
有关更多信息,该功能的手册页面上有一个示例 -- 你可以看看这篇文章:How to Use ignore_user_abort() to Do Processing Out of Band
当然,虽然这可以用于一些轻量级的过程(例如“清理”页面末尾的内容,同时尽可能快地向用户显示),但您仍然可以受max_execution_time等限制。
因此,这不是一个应该用于长/繁重计算的解决方案。
【讨论】:
永远运行 PHP 应用程序或直到 php 终止
ignore_user_abort(true);
set_time_limit(0);
【讨论】: