php中警告提示A session had already been started – ignoring session_start() 解決方法
登錄代碼用到了session_start()方法,但是直接這樣是不正確的!
php會爆出警告提示:
Notice: A session had already been started - ignoring session_start() in ***\sina.php on line 2
錯誤提示:A session had already been started - ignoring session_start()
翻譯過來說的是已經存在一個session被打開了 -- 忽略sessioon_start();
廢話不多說,解決問題是關鍵,切入解決方法:
解決辦法1: 在php.ini 中 修改成
session.auto_start = 0 // 0是關閉 1是打開
這還是和前面一樣掩耳盜鈴,屏蔽掉錯誤,但是治標不治本!我們還是要解決這個問題,那么請看下面方法:
解決辦法2:
問題代碼:
session_start();
這樣寫,其實不是錯的,只是缺少了判斷,因為有些用戶已經在本站錄入了session,再次請求就會重復,php爆出這個警告提示,是為了避免更多問題以及性能和安全!
解決這個問題很簡單,寫個判斷唄!
判斷 如果session_id 不存在,說明沒有儲存, 打開session,否則。。。。不多說了,下面代碼替換吧
if (!session_id()) session_start();
怎么樣簡單吧!快去試試吧!
信息科技 2024-03-22 23:20:58 通過 網頁 瀏覽(1135) 打印