PHP设置cookie适用于测试系统,而不适用于实时系统

时间:2016-03-13 21:54:09

标签: php apache cookies

我正在尝试在登录后存储一个cookie,它在测试系统上运行正常,但是一旦我把它放到现场就失败了吗?我已经尝试过标准的w3schools代码(下面),即使这是相同的,所以它不能是我的代码。

PHP和Apache版本不完全相同,但在彼此的几个版本中(实时:PHP 5.5.21和Apache 2.4.12与测试:PHP 5.6.14和Apache 2.4.10)所以在我开始升级之前我认为我在这里检查,因为这肯定不是原因。我错过了什么吗? (对不起,但我在PHP开发方面是一个菜鸟)为什么在现场网站上如此简单的失败呢?现场网站成功托管了使用cookie的Drupal,我尝试过多个浏览器/机器都接受其他网站的cookie,所以我很困惑......

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html> 

1 个答案:

答案 0 :(得分:0)

噢,天啊..所以我在帖子交换之后找到了答案 - Transferred Hosts and setting cookies doesn't work now

代码页顶部有一个非常少量的空格,因此服务器似乎没有将它作为标题的第一部分发送。测试代码现在正在运行,我现在就去修复我的“真实”代码我知道了......所以 - 回答是 - 将cookie代码依偎在编辑器的左上角!