php session出錯的解決方案:1、刪除「session_start();」之前的輸出;2、呼叫設定檔時使用「include_once()」包含,並避免重複呼叫出錯。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
特定問題:
當成功登陸之後我給用戶記錄session,如下:
$account=$_POST['account']; //获取表单传递的用户名如果用户名和密码正确,则:session_start();session_register("account");运行了以后,发现报错如下:Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\myweb\conn.php:2) in D:\AppServ\www\myweb\loginsave.php on line 16Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\myweb\conn.php:2) in D:\AppServ\www\myweb\loginsave.php on line 16Fatal error: Call to undefined function session_register() in D:\AppServ\www\myweb\loginsave.php on line 17
其中所謂的16,17行就是上面那兩行:session_start();session_register("account");昨天我運行還正常,怎麼現在有問題了。 。 。 。這個用法有什麼不好嗎?怎麼解決?
解決方法:
1、session_start();之前不能有輸出,開啟session通常放在第一行。
2、你可以看看conn.php檔案中是不是已經開啟過session了,一般session開啟在設定檔第一行,呼叫設定檔時使用include_once()包含,避免重複呼叫出錯。
【推薦學習:《PHP影片教學》】
以上是如何解決php session出錯問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!