在各個網頁上,很常會用到的一個php函數,session
列出目前所碰到的狀況
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent...
網頁出現這種狀況,可能可以解決的狀況如下
1.
session_start();
以上這段程式碼,必須放在程式的第一行,連空格都不行。
2.
BOM(Byte Order Mark)的問題
解決方式:
在存檔的時後,若是用DW(Dreamweaver),在存檔時將【包含 Unicode 簽名 (BOM)】給取消掉
3.
session 的使用必須有幾個要素
(1) /etc/php.ini 的設定
session.save_path = "/tmp"
session.auto_start = 0 (或1)
(2) 在 php 程式中
如果 session.auto_start = 0 則必須先執行 session_start()
如果 session.auto_start = 1 就不必執行 session_start()
(3) 第一次使用 session 變數時, 先執行 session_register('變數名稱') 註冊變數
之後即可以使用 $_SESSION['變數名稱']
4.php.ini的設定
output_buffering預設為OFF,將之設定為ON
沒有留言 :
張貼留言