PHP会话被ajax长轮询锁定
我有一个ajax长轮询请求,它在第一个页面加载时运行良好。问题是当重新加载页面或浏览新页面时,PHP会话将被锁定,直到旧的PHP会话超时 我有以下长轮询代码PHP会话被ajax长轮询锁定,php,session,Php,Session,我有一个ajax长轮询请求,它在第一个页面加载时运行良好。问题是当重新加载页面或浏览新页面时,PHP会话将被锁定,直到旧的PHP会话超时 我有以下长轮询代码 while (time() - $time < 55) { if ($userid != 0) { updateUserSession(); fetchMessages(); getTyping(); //getNotifications(); if (!empty($response)) {
while (time() - $time < 55) {
if ($userid != 0) {
updateUserSession();
fetchMessages();
getTyping();
//getNotifications();
if (!empty($response)) {
header("Content-Type: text/plain");
echo json_encode($response);
exit;
}
}
sleep(2);
}
我有一个从顶部开始的课程
现在,问题是getTyping函数可能需要设置一个会话,因此在长轮询请求完成之前无法调用session\u write\u close,因此我无法获取会话数据,然后立即关闭它
有人能想出一个解决这个问题的办法吗
谢谢。每次需要访问会话时,您能同时呼叫会话启动和会话写入关闭吗?我想你可能会收到重复的邮件头,但这可能不是问题
编辑此项将不起作用,因为一旦您向浏览器发送了任何内容,就无法调用会话\u start我甚至没有尝试过,我以为您只能启动一次会话?