サーバーの時間/タイムゾーンが正しくない場合、Cookie はひねりを加えて取得できます。サーバーのタイムゾーン/時間設定を確認してください。
PHPのタイムゾーンだけでなく、OSの実際の時間/タイムゾーンを確認する必要があることに注意してください。ただし、PHP のタイムゾーン ( date_default_timezone_set()
) を現地時間に設定し、PHP に日付を尋ねることで、PHP の使用を確認できます。一致しない場合は、サーバーが正しく設定されていません。PHP でタイムゾーンを調整して正しく見えるようにしても、Cookie の問題は解決されないことに注意してください。OS で「日付」を使用して、OS の時刻/タイムゾーンを正しく設定する必要があります。
これが問題かどうかを確認する別の方法: Cookie を 1 年で期限切れになるように設定します。タイムゾーンが間違っている場合、これらは表示されますが (>タイムゾーンの違い)、2 時間の Cookie は表示されない場合があります (
理由: Cookie が実際の時刻を使用して設定されているため (つまり、「この Cookie は 2013 年 7 月 25 日 15:13 GMT に期限切れになります」)。ローカル コンピューターがサーバーとは異なる設定になっている場合、Cookie が送信される前に有効期限が切れているように見えることがあります。一部のブラウザはこれを修正します (以前は FF でしたが、現在は Chrome も修正されている可能性があります)。
ここで変わったのはサーバーなので、サーバーの時刻を確認してください。(また、適切な測定のために自分のコンピューターを再確認してください)。