php.ini
मान session.cookie_lifetime देखें।
0
का डिफ़ॉल्ट मान ब्राउज़र बंद होने पर सत्र समाप्त करने का मतलब है।
आप इस मान को सीधे php.ini
में ओवरराइड कर सकते हैं या ini_set का उपयोग करके सत्र शुरू करने से पहले इसे अपने एप्लिकेशन में सेट कर सकते हैं। इसे 0
से अधिक कुछ सेट करने से सत्र उस अवधि के लिए लाइव हो जाएगा।
उदा।
ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7); // 7 day cookie lifetime
session_start();
ऊपर के उदाहरण जब सत्र शुरू हो जाता से 7 दिन का एक समय समाप्ति के साथ स्थापित किया जाना सत्र कुकी का कारण बनता है।
नोट: आप कोड के एक ही हिस्से से अपने वेबपेजों के सभी के लिए अपने सत्र शुरू करते हैं, इस सत्र की समाप्ति के लिए हर बार session_start()
कहा जाता हो जाता है का विस्तार करने के लिए जारी नहीं होंगे। कुकी लाइफटाइम तब से सेट होता है जब सत्र पहली बार शुरू होता है, न कि बाद के अनुरोधों पर। यदि आप वर्तमान समय से 7 दिनों के बाहर सत्र के जीवनकाल को विस्तारित करना चाहते हैं, तो session_regenerate_id() भी देखें।
इसके अलावा नोट: अपने session.gc_maxlifetime मूल्य सत्र कुकी की लंबाई से कम कुछ के लिए सेट है, तो आप एक स्थिति हो सकता है जहां उपयोगकर्ता 5 दिनों के लिए साइट पर जाएँ नहीं है और जब वे वापस आते हैं, सत्र कुकी अब मान्य नहीं है क्योंकि सर्वर पर डेटा हटा दिया गया है। इसका समाधान करने के लिए, आपको इस सत्र डेटा के लिए जीवन भर को कम से कम अपने कुकी जीवनकाल तक सेट करना चाहिए। मैनुअल स्टेटस के रूप में, सत्र डेटा के लिए कस्टम session.save_path
का उपयोग करना आवश्यक हो सकता है, जिसे आप डिफ़ॉल्ट से अधिक लंबे समय तक जारी रखना चाहते हैं। इसलिए, अपने स्क्रिप्ट ऐसी दिखाई देगी हो सकता है:
ini_set('session.cookie_lifetime', 60 * 60 * 24 * 7);
ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 7);
ini_set('session.save_path', '/home/yoursite/sessions');
session_start();
कुकीज़ के लिए नौकरी की तरह लगता है –