如何设置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