ก่อนอ่านด้านล่างให้แน่ใจว่าคุณมี@csrfหรือ{{ csrf_field() }}ในรูปแบบของคุณ
เช่น
<form method="post">
@csrf <!-- {{ csrf_field() }} -->
... rest of form ...
</form>
ข้อความแสดงข้อผิดพลาด Session Expired หรือ 419 Page Expired เกิดขึ้นเนื่องจากมีบางแห่งที่การตรวจสอบโทเค็น csrf ของคุณล้มเหลวซึ่งหมายความว่าApp\Http\Middleware\VerifyCsrfToken::classมิดเดิลแวร์เปิดอยู่แล้ว ในรูปแบบ@csrfมีการเพิ่มคำสั่งใบมีดแล้วซึ่งก็น่าจะใช้ได้เช่นกัน
จากนั้นพื้นที่อื่นที่ต้องตรวจสอบคือเซสชัน csrfตรวจสอบโทเค็นเกี่ยวข้องโดยตรงกับเซสชันของคุณดังนั้นคุณอาจต้องการตรวจสอบว่าโปรแกรมควบคุมเซสชันของคุณใช้งานได้หรือไม่เช่น Redis ที่กำหนดค่าไม่ถูกต้องอาจทำให้เกิดปัญหา
บางทีคุณอาจลองเปลี่ยนไดรเวอร์เซสชัน / ซอฟต์แวร์จาก.envไฟล์ของคุณไดร์เวอร์ที่รองรับจะได้รับด้านล่าง
ไดรเวอร์เซสชันที่รองรับใน Laravel 5, Laravel 6 และ Laravel 7 (Doc Link)
file - เซสชันจะถูกเก็บไว้ในที่จัดเก็บ / กรอบงาน / เซสชัน
cookie - เซสชันจะถูกเก็บไว้ในคุกกี้เข้ารหัสที่ปลอดภัย
database - เซสชันจะถูกเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์
memcached/ redis- เซสชันจะถูกเก็บไว้ในร้านค้าที่ใช้แคชที่รวดเร็วเหล่านี้
array - เซสชันจะถูกเก็บไว้ในอาร์เรย์ PHP และจะไม่คงอยู่
หากแบบฟอร์มของคุณใช้งานได้หลังจากเปลี่ยนโปรแกรมควบคุมเซสชันแล้วมีบางอย่างผิดปกติเกิดขึ้นกับไดรเวอร์นั้นให้ลองแก้ไขข้อผิดพลาดจากที่นั่น
สถานการณ์ที่อาจเกิดข้อผิดพลาดได้
อาจเป็นไปได้ว่าเซสชันที่ใช้ไฟล์อาจไม่ทำงานเนื่องจากปัญหาการอนุญาตกับ/storageไดเร็กทอรี (googling ด่วนจะดึงโซลูชันมาให้คุณ) นอกจากนี้อย่าลืมใส่ 777 สำหรับไดเร็กทอรีไม่ใช่วิธีแก้ปัญหา
ในกรณีของไดรเวอร์ฐานข้อมูลการเชื่อมต่อฐานข้อมูลของคุณอาจผิดพลาดหรือsessionsตารางอาจไม่มีอยู่หรือกำหนดค่าไม่ถูกต้อง (ส่วนการกำหนดค่าที่ไม่ถูกต้องได้รับการยืนยันว่าเป็นปัญหาตามความคิดเห็นของ @Junaid Qadir)
redis/memcached การกำหนดค่าไม่ถูกต้องหรือถูกจัดการโดยโค้ดอื่น ๆ ในระบบในเวลาเดียวกัน
อาจเป็นความคิดที่ดีที่จะดำเนินการ php artisan key:generateและสร้างรหัสแอปใหม่ซึ่งจะช่วยล้างข้อมูลเซสชันได้
ล้างแคชเบราว์เซอร์ยากฉันพบว่า Chrome และ Firefox เป็นผู้ร้ายมากกว่าที่ฉันจำได้
อ่านเพิ่มเติมว่าเหตุใดคีย์แอปพลิเคชันจึงมีความสำคัญ
return;สามารถโทรreturn redirect()->back();. จากสิ่งที่ฉันเห็นแอพไม่มีอะไรทำหลังจากโพสต์ขอ บางทีคุณอาจเปลี่ยนเส้นทางไปยังมุมมองหลังจากดำเนินการตามคำขอ