2017-08-01 13 views
0

LAMPを実行しているAWS EC2インスタンスでCookieを設定できない問題が発生しています。cookieがphp awsで動作しない

I持っている2つの簡単なページ、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> 

私はに移動しますcookie.phpをクリックしてリンクをクリックすると、空の配列がエコーされます。また、クッキーを調べると、そこには何もありません。

私はApache/2.4.25(Amazon)でPHP 7.0.16を実行しています。これはそのような奇妙な振る舞いです。誰かが似たようなものに遭遇して、正しい方向に向けるのですか?

+0

イムわから多分この質問はあなたを助けることができません。https://stackoverflow.com/questions/29564984 – Spingolini

+0

@Spingoliniが - それを指摘いただきありがとうございますが、私はその質問を見ました。その人は、異なるドメイン間でCookieを使用して問題に遭遇していたときに、わずかに異なる問題を抱えていたようです。 –

答えて

0

クッキーに関する私の経験では、常に$_SERVER['SERVER_NAME']を5番目の引数として使用しています。 $ _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

ドメイン:

クッキーが利用可能です(サブ)ドメイン。 (例えば、「www.example.com」など) サブドメインにこれ​​を設定すると、そのサブドメインと他のすべてのサブドメイン(すなわち w2.www.example.com)に クッキーを利用できるようになります。 Cookieをドメイン (すべてのサブドメインを含む)で利用できるようにするには、値をドメイン の名前(この場合は「example.com」)に設定するだけです。

関連する問題