2015-01-26 125 views
0

以下是我的测试文件。这是他们包含的全部内容。php setcookie不起作用

文件test.php的:

<?php  
setcookie("test", "test", time() + 3600); 
header("Location:test2.php"); 

文件test2.php:

<?php 
if(!isset($_COOKIE['test'])) { 
    echo 'cookie not set'; 
} else { 
    echo 'cookie set'; 
} 

当我尝试显示test.php的页面我的 “cookie未设置”。 这是推动我疯了......

这里是我检查迄今:

  • 我与Safari /铬/ Firefox的测试,
  • 我的浏览器接受cookies,
  • ,你可以在我的例子中看到在调用setcookie函数之前没有输出发送到浏览器,
  • 当显示setcookie函数的结果时,我得到了真,
  • 它在我的本地计算机上工作,但不是在我的服务器上,

最后一点让我相信服务器配置有问题吗?我在一个共享主机服务器上,所以我无法做到这一点。

+0

你可以看看你的开发者工具资源标签,看看是否有cookie存在吗? – Darren 2015-01-26 23:10:35

+1

在打开'<?php'标记后立即向文件顶部添加错误报告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否产生任何东西。 – 2015-01-26 23:13:06

+0

@ Fred-ii-我添加了'error_reporting(E_ALL); ini_set('display_errors',1);'在这两个文件中。没有错误发生。 @Darren也没有在开发者工具中设置cookie。 – PGBI 2015-01-26 23:16:56

回答

0

最后,我尝试通过VPN访问位于法国的IP地址(我的主机是法国的OVH,我住在美国)的测试页面。 Cookies正在工作。

我想OVH会在他们的CDN的某个地方混乱,或者我不知道是什么。我会直接与他们核对。