我有一个很大的php/mysql
应用程序,其中有很多sql
查询生成报告
,报告完成后会发送电子邮件带有报告链接。
唯一的事情是,如果我让窗口打开
,报告就会完全生成
并且我会收到一封包含报告链接的电子邮件,但是当我关闭浏览器
窗口,该工具生成一半数据
并发送电子邮件。
主要是为什么窗口关闭只有一半的时间有效。
最佳答案
您可以结合使用ignore_user_abort和set_time_limit:
ignore_user_abort(true); // continue to run after client disconnects
set_time_limit(0); // infinite time limit
您可以估计脚本需要的秒数,并为其添加更多时间,而不是无限的时间限制。这样脚本就没有机会挂起进程。
关于php - 为什么浏览器窗口关闭只有一半的时间有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302562/