我已经有一段时间没有使用 php 了,回到我的一个项目只是为了发现 session 变量没有被存储。这真是一个惊喜,因为我上次检查时,它工作并且我没有使用 php(因此没有更改代码或配置)。
情况如下:会话没有跨页面存储(我可以保存它并且它在页面上显示相同,但是当我刷新时 - 没有任何变化)。
我在这里查看了未保存的 PHP 会话数据并复制了示例:
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views'] = $_SESSION['views']+ 1;
else
$_SESSION['views'] = 1;
echo "views = ". $_SESSION['views'];
echo '<p><a href="page1.php">Refresh</a></p>';
但没有任何改变:我仍然有意见 = 1。
尽管如此,我还没有更改我的配置,但我仍然查看了 phpinfo():
我检查了写入文件夹 /tmp 的权限-它们没问题,而且每次刷新后都会出现一个新文件。
然后我检查了其他浏览器中的工作:令我惊讶的是,它在 Firefox 中工作:数字在那里正确增加。
所以情况:在chrome中它不起作用,在firefox中它起作用。我默认使用 chrome。我还记得当它切换到闪烁时使用 chrome 选项,但据我所知,我把所有东西都改回来了。
知道如何修复 chrome 中的 php 会话吗?
PS:
- cookie 在 chrome 中启用
- 会话文件在 /tmp 我试图将它们全部删除,然后当我在 chrome 中刷新页面时 - 出现新文件
- 在标题中我发送 Cookie:PHPSESSID=mystring 但没有会话 ID