如何設置PHP的會話生存期?我希望只要請求存在就將其設置爲永久。請求是AJAX。該處理AJAX請求我的PHP代碼:如何設置會話的生存期
// AJAX.php
<?php
session_start();
$_SESSION['counter'] = $_SESSION['counter'] + 1;
header('Content-type: application/json');
echo json_encode(array('tick' => $_SESSION['counter']));
?>
和JavaScript:
$(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秒重置。
這似乎是一個簡單問題的過於複雜的解決方案。在配置或.htaccess文件中設置session.cookie_lifetime的值有什麼問題?您建議的方式在每個需要會話的PHP文件中都需要額外的代碼。 – 2011-06-15 17:45:30
是的,但我寫了簡單的解決方案(之前「但它......」),其餘或響應是「我想永久設置它」,嘿,session.cookie_fifetime,是服務器端配置,但瀏覽器將其作爲「會話cookie」進行管理。對於簡單的解決方案也可以使用session_set_cookie_params。 – Exos 2011-06-15 19:29:47
很明顯,我使用的會話是保存每10秒更改一次的大數據,只要存在ajax請求即可。這是我需要永久設置它的方式。順便說一句,很好的回答謝謝 – brian 2011-06-16 06:09:52