ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abort设置客户端断开连接时是否中断脚本的执行

说明

ignore_user_abort(?bool $enable = null): int

设置客户端断开连接时是否中断脚本的执行

PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 enabletrue,否则脚本输出任意字符时会被中止。

参数

enable

如果设置了该值且不为 null,函数会设置 ignore_user_abort ini 为 enable。否则,函数不会改变设置,仅会返回之前的设置。

返回值

以整型返回之前的设置

更新日志

版本 说明
8.0.0 enable 现在允许为 null。

示例

示例 #1 ignore_user_abort()例子

<?php
// 忽略用户中止并允许脚本
// 永远运行
ignore_user_abort(true);
set_time_limit(0);

echo
'Testing connection handling in PHP';

// Run a pointless loop that sometime
// hopefully will make us click away from
// page or click the "Stop" button.
while(1)
{
// 连接失败?
if(connection_status() != CONNECTION_NORMAL)
{
break;
}

// 睡眠 10 秒
sleep(10);
}

// If this is reached, then the 'break'
// was triggered from inside the while loop

// So here we can log, or perform any other tasks
// we need without actually being dependent on the
// browser.
?>

注释

在PHP尝试发送信息到客户端之前,不会检测到用户是否已中断连接。 仅使用 echo 语句不能确保信息已发送,参见 flush() 函数。

参见