PHP奇怪的cookie问题,在服务器上不起作用

时间:2015-10-27 12:56:12

标签: php cookies setcookie php-5.5

我正在一个网站上工作,我使用cookie登录并跟踪人们是否观看了某个页面(用于查看计数)。在研究了一段时间后,我决定启动该网站,并将该网站放在服务器上。但在测试锯时我无法登录。我在使用会话时首先发现了这一点。我会设置会话,但会议不会留下来。查看代码后,我找不到一个问题。所以我决定将其更改为cookie,这增加了一些有用的会话自定义。我想:完美。所以我在localhost上测试了这个代码,它运行得很完美:没问题。所以我把它放在服务器上,然后再没有设置。没有饼干,没有。我在谷歌搜索过去两天,没有任何努力,但没有什么能为我提供有效的解决方案。

现在,他找到了一些有用的信息: 我用ob_start和ob_end_flush; 我使用setcookie($ key,$ value,strtotime(+1月),'/'); 我尝试在使用前一行之前使用$ _COOKIE [$ key] = $ value强制cookie; 我做了一个测试文件,包括:

session_start();
ob_start();
error_reporting(E_ALL);

if (!isset($_COOKIE['test'])){
    $_COOKIE['test'] = 'test';
    $success = setcookie("test","test",  strtotime("+1 month"),"/");
    var_dump($success);
    echo "a";
}
else{
    var_dump($_COOKIE);
    echo "b";
}
ob_end_flush();

结果:“bool(false)a”。所以setcookie返回false。为什么?那是我的问题。 它适用于localhost,但我也将脚本上传到我的朋友的网站,它的工作原理。他和我的网站由同一家公司托管,但可能在不同的服务器上。他也在他的电脑上运行脚本,跟我一模一样,所以这不是我电脑的设置之一。

/ tl; dr / setcookie在服务器上返回false,但在localhost和另一个网站上工作(返回true)。

0 个答案:

没有答案