Laravel 5.5 中的「頁面因不活動而過期」錯誤:解決不活動過期問題
在Laravel 5.5 中提交註冊表單時,您可能會遇到錯誤「該頁面由於不活動而過期」。儘管存在 CSRF 令牌,但如果某些配置或設定未正確設置,則可能會出現此問題。
可能的原因和解決方案:
1.不正確的會話驅動程式:
會話驅動程式負責儲存會話數據,包括CSRF 令牌。如果會話驅動程式設定為「array」(用於測試目的),它將不會在請求之間保留會話資料。這可能會導致“頁面已過期”錯誤。將會話驅動程式切換到“檔案”或其他持久性驅動程式應該可以解決該問題。
2.不活動逾時:
Laravel 的 CSRF 令牌驗證可能會在一定時間的不活動後過期。預設情況下,此逾時設定為 120 分鐘,這表示如果使用者提交表單的時間超過 120 分鐘,CSRF 令牌將失效並出現錯誤。若要解決此問題,您可以透過修改 config('session.lifetime') 配置設定來增加 CSRF 令牌過期時間。
3.不正確的儲存權限:
如果您使用「檔案」會話驅動程序,則可能是config/session.php 檔案中指定的storage_path 不可寫。這會阻止 Laravel 正確儲存會話資料並導致「頁面已過期」錯誤。確保 storage_path 可寫入並具有正確的權限。
4. HTTPS 設定不符:
如果config/session.php 中的會話配置啟用了安全性和網域設置,但您的開發環境未使用HTTPS ,這也可能導致錯誤。若要解決此問題,請停用會話配置中的安全性和網域設定或確保您的開發環境使用 HTTPS。
以上是為什麼我的 Laravel 5.5 註冊表顯示'頁面因不活動而過期”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!