我正在尝试在函数终止之前从PHP脚本回显JSON。经过一番研究后,我得到了以下解决方案:
Yii::log("STARTED");
ignore_user_abort(true);
set_time_limit(0);
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
ob_start();
$res = array("res" => "test");
echo json_encode($res);
// get the size of the output
$size = ob_get_length();
// send headers to tell the browser to close the connection
header("Content-Length: $size");
header('Connection: close');
// flush all output
ob_end_flush();
ob_flush();
flush();
// close current session
if (session_id()) session_write_close();
sleep(10);
Yii::log("My task");
JSON正确发送到浏览器但是在关闭当前会话后我的脚本终止(即我在日志中看不到“我的任务”)。有什么建议吗?
答案 0 :(得分:0)
如果您只想将一些json打印到浏览器,此代码就足够了:
Yii::log("STARTED");
$res = array("res" => "test");
echo CJSON::encode($res);
// close current session
if (session_id()) session_write_close();
sleep(10);
Yii::log("My task");