2013-05-31 35 views
1

我正在構建一個緩存再生的事情,並且爲了調試我需要在調用它時立即看到每個echo調用。我使用PHP。使用PHP在加載標題之前輸出數據

所以基本上當我調用這個東西時,它會循環幾個對象,檢查緩存版本並輸出成功或失敗消息(在調試模式下)。

例如,當使用curl調用頁面時,我需要能夠獲得實時輸出。

我玩過ob_ PHP函數,但似乎沒有任何工作。

ob_start(); 
echo '[X] Failed to find a location using geocoder for: ' . $searchString . " STATUS: $response->status\n"; 
ob_end_flush(); 

但我不知道,我完全理解它是如何工作。

作爲網絡服務器,我使用nginxphp-fpm

有什麼建議嗎?

謝謝!

回答

1

我已經使用沖洗方法的好運氣。這會嘗試將電流輸出一路推送到瀏覽器。關鍵字是「企圖」。 ob_ functions和flush最大的問題是瀏覽器具有安全功能,有時在頁面加載完成之前不會呈現此信息。這是出於安全目的,所以我讀過。

命令將是

echo $yourvar 
flush(); 

一種替代的解決方案是通過命令行/終端運行PHP腳本。終端沒有安全功能,可以在顯示數據時保持不變。當我運行腳本來更新數據庫時,我通常會通過終端運行它們,這樣我就可以在不依靠瀏覽器的情況下看到輸出。

相關問題