我的腳本創建一個新的PHP會話,並立即將用戶重定向到另一個頁面。在第一次登錄嘗試時會導致PHP會話失敗的原因是什麼?
除了服務器閒置一個小時左右之後的第一次以外,每次都能正常工作。在第二次嘗試之後,它再次完美地工作。服務器空閒後,它總是失敗,並在第一次嘗試後始終工作。
編輯 當服務器空閒時,會話不起作用。之後一切正常。
理論上,什麼會導致會話在第一次嘗試時失敗?
我不想在此發佈任何代碼,因爲這只是因爲我不知道要發佈的代碼的哪一部分。這是使用PHP 5.3的IIS 7。同樣的結果都使用CGI和FastCGI。
編輯 session_start();在這兩個腳本上都被調用。當用戶立即重定向到下一頁時,用戶將看不到第一頁。腳本之間不到一秒鐘。
我不得不說這是一個編碼/邏輯錯誤,如果沒有看到代碼就無法真正回答 - 但可以做出很多猜測。 – newfurniturey
當你說「*服務器已經閒置了一個小時左右*」,這是否意味着你在瀏覽器中加載網頁,讓它在* 1小時左右*嘗試登錄之前? – newfurniturey
我與@newfurniturey:顯示一些代碼,我的第一個猜測是你試圖訪問'$ _SESSION'超全球,但你的會話已過期。顯示一些代碼,並告訴我們你試過了什麼 –