test.php檔案內容
include('site_test.php');
?>
site_test.php檔案內容
session_start();
header('Content-Type: text/html; charset=utf-8');
?>
當開啟test.php時報以下錯誤,弄了很久也弄不明白,不知為什嗎?
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 2
Warning: Cannot modify header information - headers already sent by (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 3
回複討論(解決方案)
session_start();前面不能有輸出
檢查site_test.php 中
但現在session_start();前面沒有輸出啊,想不明白,
就是在包含檔案裡是這樣,如果直接寫在test.php裡就沒有問題。
難道session_start();不能包含在檔案裡嗎?
site_test.php 是什麼編碼,如果是utf-8編碼,確認沒有bom頭。
而且我在本機電腦測試沒有問題,就是上傳到伺服器後才有這個問題的。
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/cybertry/public_html/idearforyou.com/site_test.php:1) in /home/cybertry/public_html/idearforyou.com/site_test.php on line 2
是說:在 site_test.php 的第二行執行 session_start(); 時,發現 site_test.php 的第一行有輸出
顯然在 site_test.php 的
查過了,確實是BOM頭的問題,用DR另存新檔不包含BOM頭的就正常了,謝謝大家。
看看。。。。。