官方链接:http://php.net/manual/zh/function.ignore-user-abort.php
int ignore_user_abort ([ bool $value ] )
设置客户端断开连接时是否中断脚本的执行
PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。
今天测试是,出现value设置为false,在脚本中echo '123' 字符都没有停止,切继续执行了;官方说明是;除非value设为true,**否则脚本输出任意字符时会被中止**
想问为何没有设置value为true,输出字符却没有停止脚本
有知道的大神请赐教!
脚本中止的前提是终端结束啊。
如果终端没结束,当然不会中止,正常输出。ignore_user_abort()
只是一个设置,并不具有结束终端的功能。
** PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。**
这里的脚本是值得PHP的脚本代码吗?“除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止”这里的中止指的什么脚本终端?还是不能理解透彻
方法在这里,
$set_time_limit = 0;
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
} else {
$size = ob_get_length();
header("Content-length: $size");
header('Connection:close');
ob_end_flush();
flush();
}
ignore_user_abort(true);
set_time_limit($set_time_limit);
ini_set('memory_limit', '50000M');
ini_set('max_execution_time', 0);
```bash
```