饼干不在php aws中工作

时间:2017-08-01 17:03:33

标签: php cookies amazon-ec2

我遇到了一个无法在运行LAMP的AWS EC2实例上设置cookie的问题。

我有两个简单的页面,cookie.php和show_cookie.php:

cookie.php

<?php
setcookie('test', 'test', time()+36000, '/');
?>
<a href="show_cookie.php">show me the cookies!</a>

show_cookie.php

<?php
print_r($_COOKIE);
?>
<a href="cookie.php">go back</a>

当我导航到Chrome中的cookie.php并点击该链接时,该页面回显了一个空数组。另外,如果我检查Cookies,那里什么都没有。

我正在使用Apache / 2.4.25(亚马逊)运行PHP 7.0.16。这是一种奇怪的行为。有没有人碰到类似的东西指向正确的方向?

1 个答案:

答案 0 :(得分:0)

在我使用cookies的所有经历中,我总是将$_SERVER['SERVER_NAME']作为第五个参数。我不相信你必须定义$ _Server。我相信它是在执行期间定义的。如果不是,您可能必须将其定义为您的域或IP地址。

setcookie("userid",$global['user-id'],time()+3600*2,'/',$_SERVER['SERVER_NAME']);

这是$ _Cookies的PHP指南的链接。 http://php.net/manual/en/function.setcookie.php

这是$ _Server的PHP指南的链接。 http://php.net/manual/en/reserved.variables.server.php

  

<强>域

     

Cookie可用的(子)域。将此设置为   子域名(例如&#39; www.example.com&#39;)将使Cookie可用   到该子域及其所有其他子域(即   w2.www.example.com)。使cookie可用于整个域   (包括它的所有子域),只需将值设置为域   名称(&#39; example.com&#39;,在这种情况下)。