即使用户关闭了浏览器,PHP 脚本也能继续运行吗?
2022-08-30 16:35:20
例如,有一个非常简单的PHP脚本,它更新了数据库上的一些表,但这个过程需要很长时间(可能是10分钟)。因此,我希望即使用户关闭浏览器,此脚本也能继续处理,因为有时用户不会等待,而是关闭浏览器或转到另一个网页。
例如,有一个非常简单的PHP脚本,它更新了数据库上的一些表,但这个过程需要很长时间(可能是10分钟)。因此,我希望即使用户关闭浏览器,此脚本也能继续处理,因为有时用户不会等待,而是关闭浏览器或转到另一个网页。
如果任务需要 10 分钟,请不要使用浏览器直接执行它。您还有很多其他选择:
虽然其中一些建议对于您的情况来说可能有些过分,但关键的组合功能是将浏览器请求从作业的执行中解耦,以便可以异步完成。
如果需要使用进度更新浏览器窗口,则需要使用定期执行的 AJAX 请求来检索作业状态。
要直接回答您的问题,请参阅ignore_user_abort
更广泛地说,您可能在这里遇到了架构问题。
如果许多用户可以启动这些东西,你将需要 Web 应用程序将作业添加到某种队列中,并具有一定数量的后台进程来咀嚼所有工作。