आपको बस यह ($ .post के लिए jQuery का उपयोग करती है):
जावास्क्रिप्ट (अपने ऑनलोड-समारोह या कुछ और अंदर डाल)
setInterval(function(){$.post('path/to/refresh_session.php');},600000); //refreshes the session every 10 minutes
refresh_session.php
<?php
session_start();
if (isset($_SESSION['token'])) { //if you have more session-vars that are needed for login, also check if they are set and refresh them as well
$_SESSION['token'] = $_SESSION['token'];
}
?>
(मुझे पता है कि यह स्वीकार्य उत्तर के समान ही है, मैं वास्तव में उस पर टिप्पणी करना चाहता था लेकिन मेरे पास अभी तक पर्याप्त प्रतिष्ठा नहीं है।
जावास्क्रिप्ट में सबसे बड़ा परिवर्तन है, आपको केवल एक लाइन, पूरे फ़ंक्शन की आवश्यकता नहीं है।)
अतिरिक्त जानकारी:
हालांकि मुझे लगता है कि यह सिर्फ php में session_start()
कॉल करने के लिए काफी है, अगर मैं यह अधिकार (http://nl3.php.net/function.session-start) पढ़ें:
पढ़ने कॉलबैक किसी मौजूदा सत्र डेटा को पुनर्प्राप्त करेगा ( विशेष धारावाहिक प्रारूप में संग्रहीत) और अनसुलझा होगा और ऑटो पर उपयोग किया जाएगा कॉलबैक सहेजे गए सत्र डेटा को PHP सत्र हैंडलिंग पर वापस लौटाते समय $ _SESSION superglobal पर मूल रूप से पॉप्युलेट करें।
और परीक्षण के दौरान मैंने केवल उपरोक्त कोड को मेरे आगंतुक पृष्ठ पर रखा, न कि व्यवस्थापक पृष्ठ पर। लेकिन मेरे पास दोनों ब्राउज़र एक ही ब्राउज़र (क्रोम) में खुल गए थे, और व्यवस्थापक पृष्ठ भी कम से कम एक घंटे से अधिक समय तक लॉग इन रहा था (अब और जांच नहीं किया गया था)। लेकिन, मैं अगर यह अभी भी काम करता है अगर आप केवल session_start()
उपयोग करते हैं, मैन्युअल रूप से सभी पर किसी भी सत्र-वर ताज़ा बिना पता नहीं है ..
किसी भी तरह से, मुझे यकीन है कि सत्र-वार्स मैं जरूरत होना चाहते वास्तव में अभी भी हैं :)
कुछ AJAX कॉल कर सकते हैं? क्या आप अपनी लिपि का थोड़ा और वर्णन कर सकते हैं? कुछ कोड नमूने मदद मिलेगी :) – Gogol
दिलचस्प। मैं इसी तरह की समस्या से निपट रहा हूं लेकिन इस मामले पर मेरी राय यह है कि किसी को अंतराल पर सत्र समय समाप्ति को स्वचालित रूप से रीसेट करने से बचना चाहिए क्योंकि यह प्रभावी रूप से एक अनंत सत्र बनाएगा जो ब्राउज़र विंडो खुला होने तक जारी रहेगा। इसके बजाए मैं सुझाव देता हूं कि आपका अधिकतम जीवनकाल बढ़ाना चाहिए, और उपयोगकर्ता कार्रवाई के आधार पर टाइमआउट को रीफ्रेश किया जा सकता है। यहां तक कि माउस चाल भी चाल कर सकती है, माउस को स्थानांतरित होने के बाद टाइमर शुरू करें। जब तक कि कुछ उपयोगकर्ता इंटरैक्शन घटक शामिल नहीं होते हैं, यह एक बड़ा सुरक्षा छेद बनाता है। सत्र समाप्त होने के लिए डिज़ाइन किए गए हैं। –