by admin on | 2025-03-12 08:13:51 Last Updated by admin on2025-03-20 14:06:39
Share: Facebook | Twitter | Whatsapp | Linkedin Visits: 27
1. ตรวจสอบว่าคุณใช้ SESSION_DRIVER=database
เปิดไฟล์ .env และตรวจสอบว่าใช้ Database เก็บ Session
"
SESSION_DRIVER=database
SESSION_LIFETIME=120 # 120 นาที (2 ชั่วโมง)
"
* Laravel จะเก็บ Session ในตาราง sessions
2. เพิ่ม Prunable ใน Model Session
2.1. สร้าง Model Session.php (ถ้ายังไม่มี)
" php artisan make:model Session "
2.2. แก้ไขไฟล์ app/Models/Session.php
[CODE]
3. ใช้คำสั่ง model:prune เพื่อลบ Session ที่หมดอายุ
รันคำสั่งนี้เพื่อลบ Session ที่หมดอายุ
" php artisan model:prune "
ผลลัพธ์:
- Laravel จะลบ Session ที่ last_activity หมดอายุ
- ไม่มีผลกระทบกับ Session ที่ยังใช้งานอยู่
4. ตั้ง CRON Job หรือ Task Scheduler ให้ลบ Session อัตโนมัติ
ตั้ง CRON Job ให้รัน model:prune ทุกชั่วโมง
เปิด Terminal แล้วพิมพ์