在我使用session_start();想要啟用session的時候出現了
...cannot send session cache limiter-headers already sent....
這樣的錯誤,後來查了一下資料
在使用session_start()的時候網頁要避免有output,包括標準HTML串流
<?php
echo 'Hi';
session_start();
?>
或是
<html>
<?php
session_start();
?>
這樣也是不行,session_start()必須保證執行他之前沒有任何output,甚至是一個空白也不行
所以只要改成下面這樣就行了
<?php //php程式碼從網頁第一行第一格開始(且沒有空格)
session_start();
echo 'Hi~' //output在session_start()之後
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
又或者是更改php.ini,把output_buffering給打開
output_buffering預設是
output_buffering = off
可以改成
output_buffering = 4096
這樣就算大功告成了
沒有留言:
張貼留言