PHP सत्र का जीवनकाल 30 मिनट कैसे सेट करें और इसे स्वचालित रूप से समाप्त करें?
सभी को नमस्कार! मैं PHP में नया हूँ और सत्र प्रबंधन की समस्या का सामना कर रहा हूँ। मुझे चाहिए कि मेरी साइट पर उपयोगकर्ता का session स्वचालित रूप से 30 मिनट की निष्क्रियता के बाद समाप्त हो जाए। मैंने दस्तावेज़ पढ़ा, लेकिन सेटिंग्स में भ्रमित हो गया।
यहाँ मैंने जो प्रयास किया:
```php
// प्रत्येक पृष्ठ की शुरुआत में
session_start();
// ini_set के माध्यम से जीवनकाल सेट करने का प्रयास किया
ini_set('session.gc_maxlifetime', 1800);
ini_set('session.cookie_lifetime', 1800);
```
लेकिन यह काम नहीं करता — session एक घंटे बाद भी सक्रिय रहता है। मैं उपयोगकर्ता की अंतिम गतिविधि का समय इस प्रकार जाँचता हूँ:
```php
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
session_destroy();
session_unset();
header('Location: login.php');
exit;
}
$_SESSION['LAST_ACTIVITY'] = time();
```
लेकिन इससे उपयोगकर्ता सक्रिय कार्य करते समय भी बाहर निकल जाता है, यदि उसने लंबे समय तक पृष्ठ रिफ्रेश नहीं किया। 30 मिनट की निष्क्रियता के बाद session timeout को सही तरीके से कैसे लागू करें?