我即將推出一個網站,我正在通過我的php.ini準備生產環境的所有設置。我應該在生產環境中開啓還是關閉output_buffering?
我在討論是否將output_buffering設置爲On,Off或設置爲緩衝區限制(如4096)。有沒有pro或con的output_buffer打開或關閉?我已經讀過關閉緩衝器會給你一些額外的表現,但是在作出我的決定之前有什麼我應該知道的嗎?
爲什麼離開它?
爲什麼離開它?
爲什麼保留一個緩衝區限制?
我即將推出一個網站,我正在通過我的php.ini準備生產環境的所有設置。我應該在生產環境中開啓還是關閉output_buffering?
我在討論是否將output_buffering設置爲On,Off或設置爲緩衝區限制(如4096)。有沒有pro或con的output_buffer打開或關閉?我已經讀過關閉緩衝器會給你一些額外的表現,但是在作出我的決定之前有什麼我應該知道的嗎?
爲什麼離開它?
爲什麼離開它?
爲什麼保留一個緩衝區限制?
這是一個配置指令,不像register_globals
和magic_quotes_runtime
因爲它沒有足夠的爭議來保證它默認關閉。保持啓用狀態,以防萬一你需要它(這就是我所要做的)。據我所知,無論如何,沒有明顯的安全漏洞。
當您嘗試存儲否則始終輸出到屏幕的信息時,您確實只需要OB。例如,OB適用於存儲來自包含文件的解析輸出。
如果你不使用OB這些類型變薄,那麼還有其他的繞了更有效的方法,你應該在這裏打聽他們。
輸出緩衝最常見的用法是讓您的腳本通過print/echo /等開始「寫入」頁面內容。但仍然允許腳本中稍後的header()調用正常工作(因爲標題只能在任何實際頁面內容之前發送)。如果您的腳本使用這些腳本,那麼您需要保留輸出緩衝,以便腳本在所有header()調用正常運行的情況下繼續運行。 (否則你會得到美妙的「標題():警告,無法修改標題信息,標題已發送」消息。)
嗯,在整個開發過程中,我一直在使用OB Off進行測試,所以我推薦您不要在輸出開始後發送任何頭信息 – justinl 2009-10-17 01:36:38