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


コメントを残す