2000 年問題が過ぎ去って早 15 年経つわけですが。
次は 2038 年問題とやらがやって来るそうな。
2038 年問題とは、簡単に言うと
「32bit のシステム上では、日付計算が 2038 年 1 月 19 日午後 12 時 14 分 8 秒以降桁あふれするので、計算がおかしくなっちゃうよ」
って問題です。
前の 2000 年問題の時は「大変だなぁ〜」と他人事でしたが、今回の 2038 年問題はそうもいきません。
なぜなら、PHP の date 関数がこれの対象になるから。
しかし、回避方法は実に簡単。
64bit システムに移行すればいいんです。
というか、そもそも 2038 年に現存する 32bit システムのサーバが生きているんだろうかなんて疑問が浮かんだりしますが。
何はともあれ、サーバを 64bit 環境にすればいいのです。
しかし、OS を 64bit にすればいいわけじゃない。
インストールする PHP ももちろん 64bit 版を入れましょう。
という事で現状の PHP が 32bit なのか 64bit なのか確認する方法は下記コマンド。
php -r 'echo PHP_INT_SIZE;'
レンタルサーバとかでコマンドが実行できない場合は下記コードを php ファイルに記述してアクセスしてみましょう。
<?php
echo PHP_INT_SIZE;
?>
4だと 32bit で8だと 64bit です。
もちろん自分が借りているVPSは 64bit だったわけですが・・・
会社のサーバは 32bit でした。
まぁ、たぶんあと数年で入れ替えるだろうし、その時対応してもらおう。