PHP session_start(): Cannot start session when headers already sent in


方法一

大多數帖子的解決方法是

將php.ini中的session.auto_start改為1,重啟nginx

在日常開發中,php.ini配置session.auto_start=0;是默認關閉會話,如果想開啟會話需要調用session_start();
而session.auto_start 開啟就自動完成了session_start();
當session.auto_start = 1 時,執行 session_start() 將產生新的 session_id
其優點在於,任何時候都不會因忘記執行 session_start() 或 session_start() 在程序里的位置不對,而導致錯誤;
缺點在於,如果你使用的是第三方代碼,則必須刪去其中的全部 session_start() 。否則將不能得到正確的結果。
上段摘自  PHP session_start(): Cannot start session when headers already sent in 出錯 - 簡書 (jianshu.com)
 

方法二

代碼中搜索出 

session_start()
將其改為
if (!headers_sent() && session_id() == '') session_start();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM