当浏览器向Web服务器发送http请求时。该请求将运行一个PHP脚本,该脚本将调用函数A,B和C.
如果浏览器的连接在PHP执行功能A时丢失,它是否会继续运行脚本并调用功能B和C?
答案 0 :(得分:1)
使用PHP,这只需在ini文件中控制:
; If enabled, the request will be allowed to complete even if the user aborts
; the request. Consider enabling it if executing long requests, which may end up
; being interrupted by the user or a browser timing out. PHP's default behavior
; is to disable this feature.
; http://php.net/ignore-user-abort
;ignore_user_abort = On
默认情况下,在PHP 5.6.3中,如果您关闭浏览器,行为就是终止脚本。关闭您的标签,至少在Chrome中,不会杀死该脚本。您必须关闭浏览器。
答案 1 :(得分:1)
问题是,传统的HTTP模型不是交互模型
如果用户关闭页面,唯一能让确定确保您的脚本无法运行的方法是:
1.在脚本的开头加入这些行:
<?php
ob_implicit_flush();
ob_end_flush();
...
2.对于您不希望在用户退出后运行的代码:
<?php
if(!connection_aborted()){
//your code here
}
希望这会有所帮助......