PHP ignore_user_abort 杂项函数



  • 定义和用法

    ignore_user_abort - 设置客户端断开连接时是否中断脚本的执行
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    ignore_user_abort( [ bool $value ] )
    
    ignore_user_abort() 设置客户端断开连接时是否中断脚本的执行,PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。
    在PHP尝试发送信息到客户端之前,不会检测到用户是否已中断连接。 仅使用 echo 语句不能确保信息已发送,参见 flush() 函数。
  • 参数

    参数 必需的 描述
    value 如果设置了该值,函数会把 ignore_user_abort ini 的值设置为 value。 如果未设置该值,函数不会改变设置,仅会返回之前的设置。
  • 返回值

    以整型返回之前的设置
  • 示例

    // Ignore user aborts and allow the script
    // to run forever
    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)
    {
            // Did the connection fail?
            if(connection_status() != CONNECTION_NORMAL)
            {
                    break;
            }
    
            // Sleep for 10 seconds
            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.
    
  • 相关页面

    connection_aborted() - 检查客户端是否已经断开
    connection_status() - 返回连接的状态位