PHP में सत्र जीवनकाल कैसे सेट करें? जब तक अनुरोध मौजूद है, मैं इसे हमेशा के लिए सेट करना चाहता हूं। अनुरोध AJAX है। मेरे PHP कोड कि AJAX अनुरोध का प्रबंध है:सत्र के जीवनकाल को कैसे सेट करें
// AJAX.php
<?php
session_start();
$_SESSION['counter'] = $_SESSION['counter'] + 1;
header('Content-type: application/json');
echo json_encode(array('tick' => $_SESSION['counter']));
?>
और जावास्क्रिप्ट:
$(document).ready(function() {
function check() {
getJSON('ajax.php');
}
function getJSON(url) {
return $.getJSON(
url,
function(data) {
$("#ticker").html(data.tick);
}
);
}
setInterval(function() {
check();
}, 10000); // Tick every 10 seconds
});
सत्र हमेशा 300 सेकंड के बाद रीसेट करता है।
यह एक साधारण समस्या के लिए एक अत्यधिक जटिल समाधान की तरह लगता है। Session.cookie_lifetime के मान को कॉन्फ़िगरेशन या .htaccess फ़ाइल में सेट करने में क्या गड़बड़ है? जिस तरह से आप सुझाव दे रहे हैं, प्रत्येक PHP फ़ाइल में अतिरिक्त कोड की आवश्यकता होती है जिसके लिए सत्र की आवश्यकता होती है। –
हां, लेकिन मैं सरल समाधान लिखता हूं ("लेकिन, यह ..." से पहले), शेष या प्रतिक्रिया "मैं इसे हमेशा के लिए सेट करना चाहता हूं", हे, session.cookie_fifetime, सर्वर-साइड कॉन्फ़िगरेशन है, लेकिन ब्राउज़र इसे "सत्र कुकी" के रूप में प्रबंधित करता है। सरल समाधान के लिए session_set_cookie_params भी उपयोग किया जा सकता है। – Exos
स्पष्ट रूप से मैंने जिस सत्र का उपयोग किया था वह बड़े डेटा को सहेजना है जो हर 10 सेकंड में बदल जाता है जब तक कि अजाक्स अनुरोध मौजूद न हो। इस तरह मुझे इसे हमेशा के लिए सेट करने की जरूरत है। वैसे, अच्छा जवाब धन्यवाद – brian