Archive

Posts Tagged ‘cookie’

關於 setcookie() 及 session_start() 的錯誤

八月 31st, 2005

PHP 設計人員都知道,使用 setcookie() 或 session_start() 函式之前不能有任何輸出,否則就會出現錯誤。這是因為這兩個函式呼叫後會將資訊加入 HTML 的標頭(Header),而標頭都應該在 HTML 本體(body)輸出之前,如果呼叫這兩個函式時前面已經有東西輸出了,PHP 直譯器就會出現錯誤訊息。然而要檢查函式呼叫之前有沒有輸出是件非常麻煩的事情,因為 include 檔案內容裡的輸出都有可能造成錯誤,如果檔案數龐大,那檢查起來可是非常麻煩的,在此提供一個可以一勞永逸的方法:

開啟組態設定檔 php.ini ,將底下這項改為 On
output_buffering = On

這樣 Web Server 在處理檔案時會將標頭全部處理完後,再輸出網頁內容,這樣網頁速度需多等千分之一秒,但卻可省去檢查程式碼的數千數萬秒,算是值得使用的功能囉!

PHP, 程式筆記 , , ,