本本上安裝了APMServer整合了PHP開發環境,用於平時的PHP學習,今天測試下關於session的一段PHP程式碼,如下所示:

<?php
session_start();
echo session_id();
?>

執行結果時有如下報警資訊:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:APMServerAPMServ5.2.6wwwhtdocssession.php:2) in D:APMServerAPMServ5.2.6wwwhtdocssession.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:APMServerAPMServ5.2.6wwwhtdocssession.php:2 in D:APMServerAPMServ5.2.6wwwhtdocssession.php on line 3
9556700f9cba089c87c2e818bec791df

將php.ini中的如下選項配置修改即可:

session.auto_start=0

修改成

sessioin.auto_start=1


開啟session.auto_start的優點在於,任何時候都不會因忘記執行session_start()或session_start()在程式裡的位置不對,而導致錯誤;缺點在於,如果你使用的是第三方程式碼,則必須刪去其中的全部 session_start(),否則將不能得到正確的結果。