2013-04-19 13 views
7

मेरे पास ऐसी साइट है जो शॉपिंग कार्ट के लिए सत्र बनाती है।PHP सत्र समाप्ति समय - कुछ विशिष्ट मिनटों/घंटों/दिनों के लिए जीवित सत्र

$_SESSION['cart']=array(); 

ऐसा लगता है जैसे कि सर्वर स्वचालित रूप से निष्क्रियता के एक्स समय के बाद सत्र को मारता है, मुझे लगता है यह (php.ini में सेट किया गया है, लेकिन मेरे मेजबान मुझे एक्सेस नहीं मिलता, वे तो बस मुझे उन परिवर्तनों को बताना चाहूँगा , तो मैं चारों ओर खेल सकते हैं नहीं! :()।

वहाँ 2 दिनों के लिए या मिनट/घंटे की एक विशिष्ट संख्या के लिए उदाहरण के लिए जिंदा सत्र रखने के लिए एक बेहतर तरीका है?

+1

परिवर्तन विभिन्न 'सत्र के लिए रखने के जीवित अपने सत्र। *' 'सेटिंग्स ini_set का उपयोग कर()' ** इससे पहले ** आप session_start() को कॉल करते हैं: http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime –

उत्तर

13

कॉल session_set_cookie_params() इससे पहले कि आप session_start() फोन आपकी स्क्रिप्ट में:

$session_lifetime = 3600 * 24 * 2; // 2 days 
session_set_cookie_params ($session_lifetime); 
session_start(); 
// ... 

documentation से:

session_set_cookie_params()
सेट कुकी php.ini फ़ाइल में परिभाषित मानकों। इस समारोह का प्रभाव केवल स्क्रिप्ट की अवधि के लिए रहता है। इस प्रकार, आपको प्रत्येक अनुरोध के लिए session_set_cookie_params() पर कॉल करने और session_start() से पहले कॉल करने की आवश्यकता है।

वैकल्पिक रूप से, आप अपनी php.ini फ़ाइल के session.cookie_lifetime निर्देश को 2 दिनों (सेकेंड में) अपडेट कर सकते हैं।

+1

ouh ... आपका उत्तर मेरा से बेहतर है;) –

1

एक कुकी और परिवर्तन सेट आप कॉन्फ़िगरेशन में है कि सत्र उपयोग कुकीज़

session_start(); 
set_cookie("PHPSESSID", session_id(), time() + 3600 * 2); 

इस 2 घंटे

+0

यह दुर्भाग्य से काम नहीं करता है .. मेरा प्रश्न यहां देखें: http://stackoverflow.com/questions/38566461/keep-only- विशिष्ट- सत्र-alive-for-several-weeks?noredirect=1#comment64522757_38566461 –

संबंधित मुद्दे