如果目录名称以" ads"开头,则会话无效

时间:2014-12-03 10:04:00

标签: php session safari mamp

真是奇怪的错误。我在我的开发计算机上运行MAMP Pro,我有一个非常简单的测试PHP程序,如下所示:

<?php
  session_start();
  var_dump($_SESSION);

该程序适用于我把它放在我的服务器上,转储会话变量。除非,目录名称以“ads”开头(然后它只输出一个空数组)。

http://domain/test.php - works
http://domain/ads/test.php - doesn't work
http://domain/adtest/test.php - works
http://domain/adserve/test.php - doesn't work
http://domain/sads/test.php - works

我没有任何.htaccess文件用“广告”做任何事情。

更新:我做了一些测试,发现这只发生在Safari(不在Chrome或Firefox中)。但Safari是用于此站点的主要浏览器。我不想改变整个目录的名称只是为了在一些Safari怪癖周围蠕动,如果我不需要。我试过没有运气重启Safari。

2 个答案:

答案 0 :(得分:0)

php中的会话使用cookie,因此您需要检查您的Safari浏览器是否允许使用cookie并将会话ID cookie发送回服务器

答案 1 :(得分:0)

因此,当我在任何其他浏览器(包括其他机器上的Safari)中没有遇到这种情况时,我刚刚从开发机器上的Safari中删除了所有相关的cookie,一切都重新开始了。不知道是什么会导致这个错误,但至少它最终是一个很容易解决的问题。

编辑:几天后问题又回来了,所以我不得不再次删除cookie。我当然希望在别人的浏览器上不会发生这种情况。