关于ignore_user_abort的疑问

代码如下:

<?php
ignore_user_abort(true);

// 逻辑1
echo "逻辑1执行完毕\n";
sleep(10);

// 逻辑2
echo "done\n";

在cli下执行这个脚本,如果执行完逻辑1,立刻ctrl+c取消,结果是不会执行逻辑2

官方手册说明:

设置客户端断开连接时是否中断脚本的执行
PHP以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。

http://php.net/manual/zh/func...

我理解的ignore_user_abort()这个函数的意思就是,如果传值为true,那么手动取消ctrl+c脚本执行时,就算这个脚本只执行了一部分逻辑,所有逻辑也应该执行完毕,现在看应该是错误的,那请问应该怎么理解这个说明呢?

阅读 3.3k
1 个回答
新手上路,请多包涵

这里说的客户端是说的浏览器客户端 不针对cli,说的是cgi或者fpm

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题