我有一個腳本,曾經在PHP5.3中處理特定日誌文件的緩衝,但在服務器升級到PHP5.5後,它不再有效。輸出需要html,所以我希望在每個回聲之後刷新輸出。PHP流媒體/輸出緩衝不再工作
這是用來工作的代碼的刪節測試版...
@apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) { ob_end_flush(); }
ob_implicit_flush(1);
set_time_limit(0);
echo 'Start ...<br />';
for($i = 0 ; $i < 10 ; $i++)
{
echo $i . '<br />';
flush();
ob_flush();
sleep(1);
}
echo 'End<br />';
我懷疑@ini_set命令不被壓倒一切的設置,我只是希望有一個簡單的例子,將刷新輸出緩衝區。網上的大多數例子都來自6年以前,他們都沒有工作過。我讀到緩衝是用PHP5.4重寫的,所以我不知道這是否也是怪罪。
您是否考慮到某些瀏覽器在發送任何內容之前需要至少看到1024個字節的輸出?是否沖洗? – dgig