我已经解决了这个问题,并且无法找到解决方案。
我使用以下代码:
<?php
session_start();
ini_set('display_errors', 'on');
error_reporting(-1);
session_name("hello");
$_SESSION['username'] = "name";
echo $_SESSION['username'];
echo session_id();
if (is_writable(session_save_path()))
{
echo "writable";
}
?>
这是输出:
name771e6d83a8578e2dbadac64dc62b5788writable
然而,会话ID输出在每次刷新页面时都会不断变化。
我尝试过的所有浏览器(Chrome,IE,FF)都会发生这种情况。
在所有浏览器中,我都无法找到应该从我的域发送的PHPSESSID
Cookie。
由于输出产生writable
,这不应该是权限问题。
这些是我的php.ini
设置:
session_auto_start
设置为0
,就像我想的那样。
可能导致此问题的原因是什么?
我尝试学习会话,从这个简单的代码开始,无法解决这个问题。
另一个注意事项:
正如您所看到的,我设置了错误报告,当我在VPS服务器上测试此代码时,我没有遇到任何特殊错误。
但是,当我在另一台服务器上的某个共享主机帐户上运行相同的代码时,我收到headers already sent on line 2
错误。我不知道到底有什么不同,但我打算只在我的VPS服务器上运行我的项目。