Home  >  Q&A  >  body text

php - 关于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脚本执行时,就算这个脚本只执行了一部分逻辑,所有逻辑也应该执行完毕,现在看应该是错误的,那请问应该怎么理解这个说明呢?

迷茫迷茫2771 days ago647

reply all(0)I'll reply

No reply
  • Cancelreply