2038年問題を64bitで乗り切ろう

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 でした。

まぁ、たぶんあと数年で入れ替えるだろうし、その時対応してもらおう。

コメントを残す