我想在关闭连接后继续执行脚本。
这是我尝试过的..
log_message('debug','Test started' );
//Show all errors
error_reporting(E_ALL);
//Configurations
@ini_set("output_buffering", "Off");
//@ini_set('implicit_flush', 1);
@ini_set('zlib.output_compression', 0);
//User abort & maximum time
ignore_user_abort(true);
set_time_limit(0);
//check the level
if (ob_get_level() == 0) {
ob_start();
}
//Actual output
echo('hello world ...');
// get buffer length
$size = ob_get_length();
// set content length
header("Content-Length:$size");
//close the connection
header("Connection:close");
// content encoding
header("Content-Encoding: none");
//content type
header("Content-Type: text/html; charset=utf-8");
//Release buffer
ob_flush();
ob_end_flush();
flush();
// Continue on background
// never gonna execute from here ...
sleep(20);
//There is no aliens (class) exists , expecting error on log
$alien = new alienEncoder();
$alien->get_aliens( new alienDecoder() );
log_message('debug','End Test');
一切正常,除了CONTINUE
部分(它在之后停止FLUSH
),服务器上没有错误日志。
相同的代码在另一台主机上工作,但不是在这里。
请帮忙。
服务器:IIS 7.5 共享,使用 Codeigniter
笔记
- 没有
alienEncoder()
或类似的东西,所以我期待服务器上有一些错误日志,但没有错误 - ResponceBufferLimit 设置为零
- 使用 CGI/FastCgi