在web应用中需要PHP页面实时输出结果,在正常环境正常工作的测试代码如下:
<font size="4">
<?php
header('Content-type: text/html; charset=utf-8');
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo $i . '<br />';
flush();
sleep(1);
}
echo 'End ...<br />';
?>
</font>
对于nginx+php环境,只需要修改以下几个地方:
- php.ini文件中搜索
output_buffering
,这一项应该设置为0或off - 对于nginx环境,需要在配置文件中增加以下配置:
fastcgi_buffering off;
还要删掉或注释以下几行配置(如果有的话):
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
宝塔配置方式如下:
保存配置后记得重启下服务。