【问题标题】:PHP Setting cookie works on test system, not on live systemPHP Setting cookie 适用于测试系统,不适用于实时系统
【发布时间】:2016-03-14 06:17:54
【问题描述】:

我正在尝试在登录后存储一个 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> 

【问题讨论】:

    标签: php apache cookies


    【解决方案1】:

    我的天啊.. 所以我在堆栈交换后找到了答案,在我的帖子之后提出了这个建议 - Transferred Hosts and setting cookies doesn't work now

    代码页顶部有少量空白,因此服务器似乎没有将其作为标头的第一部分发送。测试代码现在可以工作了,我现在就去修复我的“真实”代码......所以 - 答案是 - 将 cookie 代码紧贴在编辑器的左上角!

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 2016-06-19
      相关资源
      最近更新 更多