Cre*_*esh 73
这取决于.
来自http://us3.php.net/manual/en/features.connection-handling.php:
当PHP脚本正常运行时,NORMAL状态处于活动状态.如果远程客户端断开连接,则打开ABORTED状态标志.远程客户端断开通常是由用户按下STOP按钮引起的.
您可以决定是否要将客户端断开连接以导致脚本中止.有时,即使没有远程浏览器接收输出,也始终让脚本运行完成是很方便的.但是,默认行为是在远程客户端断开连接时中止脚本.可以通过
ignore_user_abortphp.ini指令以及相应的php_value ignore_user_abortApache httpd.conf指令或ignore_user_abort()函数来设置此行为 .
这似乎表明您的问题的答案是"是的,如果用户离开页面,脚本将终止".
但是要意识到,根据正在使用的后端SAPI(例如mod_php),在尝试向客户端发送信息之前,php无法检测到客户端已中止连接.如果长时间运行的脚本未发出,flush()则即使用户已关闭连接,脚本也可能继续运行.
即使您确实发出定期调用flush(),也会使事情变得复杂,导致输出缓冲将导致这些调用陷阱,并且在脚本完成之前不会将它们发送到客户端!
更复杂的是,如果你安装了缓冲响应的Apache处理程序(例如mod_gzip),那么php将再次检测到连接已关闭且脚本将继续运行.
唷.
这取决于你的设置 - 通常会停止,但你可以使用ignore_user_abort()它来继续.
| 归档时间: |
|
| 查看次数: |
11737 次 |
| 最近记录: |