كيفية إنهاء جلسة PHP بعد 30 دقيقة من عدم نشاط المستخدم؟
مرحبًا أيها الزملاء! أنا مبتدئ في PHP وأقوم بتطوير موقع حيث يقوم المستخدمون بتسجيل الدخول. لدي نظام جلسات بسيط: بعد تسجيل الدخول، أحفظ البيانات في `$_SESSION`. لكن لاحظت أن الجلسة لا تنتهي، حتى إذا أغلق المستخدم المتصفح وعاد بعد ساعة - لا يزال مسجلاً للدخول. أحتاج إلى أن تنتهي الجلسة تلقائيًا بعد 30 دقيقة من آخر إجراء للمستخدم (ليس من وقت تسجيل الدخول، بل بعد آخر نقرة أو طلب).
قرأت عن المعاملات `session.gc_maxlifetime` و `session.cookie_lifetime`، لكنها لا تعمل كما توقعت. على سبيل المثال، قمت بتعيين:
```php
ini_set('session.gc_maxlifetime', 1800);
ini_set('session.cookie_lifetime', 1800);
session_start();
```
لكن يبدو أن هذا يؤثر فقط على عمر ملف الجلسة على الخادم والكوكي في المتصفح، وليس على نشاط المستخدم. إذا لم يقم المستخدم بإغلاق المتصفح، يمكن أن تعيش الجلسة لفترة أطول من اللازم، لأن جامع القمامة لا يعمل فورًا. كيف يمكنني تنفيذ ذلك بشكل صحيح؟