私はこの問題に遭遇しました:
<?php
echo date('r', 4567743118);
望ましい&正しい結果(ローカルホスト上):
日、2114 年 9 月 30 日 10:31:58 +0100
誤った結果 (リモート):
1978 年 8 月 24 日木曜日 04:03:42 +0100
32 ビット プラットフォームでスクリプトを実行すると、悪い結果が得られます。有名なY2038問題だと思いますが、どうすれば直せますか?
タイムスタンプをエコーすると(変数に保存されている場合)、正常に表示されますが、date()
破棄されます(int32にキャストすると思います)。
<?php
$a = 4567743118;
echo $a;
4567743118
[該当する場合は、debian リポジトリの PHP 5.4.4 です]