PHP会话没有';无法在新服务器上保持

PHP会话没有';无法在新服务器上保持,php,ajax,session,Php,Ajax,Session,首先,我确实阅读了至少10个类似命名的问题和答案,但没有解决这个问题 我有一个基于AJAX的登录脚本,但是现在我已经将整个站点复制粘贴到了新的主机上,它不起作用了 这个过程很简单 Javascript将登录数据发送到ajax.php,发生这种情况: session_start(); //check database $_SESSION['isloggedin']=1; //if I var_dump($_SESSION) here, it prints out `array{'islogge

首先,我确实阅读了至少10个类似命名的问题和答案,但没有解决这个问题

我有一个基于AJAX的登录脚本,但是现在我已经将整个站点复制粘贴到了新的主机上,它不起作用了

这个过程很简单

Javascript将登录数据发送到
ajax.php
,发生这种情况:

session_start();

//check database

$_SESSION['isloggedin']=1;
//if I var_dump($_SESSION) here, it prints out `array{'isloggedin' => 1}`

echo "ok";
然后Javascript重定向到
index.php
,当前为:

session_start();
var_dump($_SESSION);
但是这里,
$\u SESSION
是一个空数组

如果我做了
echo session_id()在两个页面上,它打印出相同的值

这里可能有什么问题


请记住,它在不同的服务器上工作得非常好。

您是否尝试过通过在浏览器中重新加载一个页面来进行基本会话增量测试?例如:

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

它起作用了吗

如果将会话数据存储在文件中(默认PHP配置):
您可以访问存储会话文件的文件夹吗?会话文件中是否存储了分配给会话的任何内容?

第一件事是您使用会话时必须写入的页面 第一行是会话启动() 好吗


请尝试这个我希望你的问题解决

你是使用
退出
还是
过早死亡
?这有时会导致会话无法持久化。这两个文件中的任何位置都没有退出或死亡。在两台服务器上显示PHP版本,以及“session.*”ini选项将非常有用。旧服务器是5.5.29,新服务器是5.3.3-但基本会话功能肯定应该相同吗?这是一个带有会话的pastebin。*两台服务器的php.ini设置:不,每次重新加载时计数器都是0。请尝试运行upload并运行
phpinfo()
查看服务器上的会话配置。有关使用默认PHP会话配置的更多信息,请尝试检查Session.save_路径设置-配置中是否存在此设置?它是否指向有效目录?PHP可以写入该目录。正如我在上面的线程中看到的,请检查文件夹
/var/lib/PHP/session
是否存在,以及用于运行PHP的用户是否可以写入该文件夹。顺便问一下,您是否尝试添加
错误报告(E_ALL)
ini\u集('display\u errors',1)到您的测试脚本-有没有使用此设置的新消息?