【发布时间】:2010-06-08 23:22:03
【问题描述】:
我想知道通过 Ajax 调用 PHP 脚本的生命周期。假设服务器上有一个长时间运行(即 30 秒)的 PHP 脚本,并且该页面是通过 Ajax 加载的。在脚本完成之前,用户关闭浏览器。脚本是否继续运行完成,是否已终止,或者这是服务器本身的功能(我正在运行 Apache fwiw)。感谢您的帮助。
【问题讨论】:
标签: php jquery http multithreading
我想知道通过 Ajax 调用 PHP 脚本的生命周期。假设服务器上有一个长时间运行(即 30 秒)的 PHP 脚本,并且该页面是通过 Ajax 加载的。在脚本完成之前,用户关闭浏览器。脚本是否继续运行完成,是否已终止,或者这是服务器本身的功能(我正在运行 Apache fwiw)。感谢您的帮助。
【问题讨论】:
标签: php jquery http multithreading
这可能很有趣:ignore_user_abort()
ignore_user_abort — 设置客户端断开连接是否应该中止脚本执行
注意
在尝试向客户端发送信息之前,PHP 不会检测到用户已中止连接。
【讨论】:
脚本将继续运行。在客户端关闭浏览器并不会通知服务器停止处理请求。
【讨论】:
ignore_user_abort 提到保持脚本运行是否很重要,但即便如此,网络服务器本身也可能决定终止它。
如果您有一个耗时的脚本,那么我建议您将其拆分为多个块。这样会好很多
【讨论】: