【发布时间】:2012-05-07 02:18:58
【问题描述】:
假设有人在 PHP 脚本执行时丢弃了一个 HTTP 请求(例如,该脚本已收到所有 GET 和 POST 数据并且当前正在处理,并且用户关闭了他们的浏览器窗口)。
如何确保 PHP 在脚本完成之前一直执行,就好像客户端从未退出连接一样?
【问题讨论】:
假设有人在 PHP 脚本执行时丢弃了一个 HTTP 请求(例如,该脚本已收到所有 GET 和 POST 数据并且当前正在处理,并且用户关闭了他们的浏览器窗口)。
如何确保 PHP 在脚本完成之前一直执行,就好像客户端从未退出连接一样?
【问题讨论】:
使用ignore_user_abort(TRUE)。
http://www.php.net/manual/en/function.ignore-user-abort.php
您也可以set this in php.ini。另外,如果适用,请不要忘记set_time_limit(0),这样您的脚本就不会超时。
【讨论】: