PHPバージョンUP時のdate関数エラー

最終更新日時 : 2014/07/27
LINEで送る
Pocket

PHPのバージョンUP時にエラーが!!!

こんにちは!つむぎです。
今日は、PHPのバージョンアップに伴うエラーについての覚え書きです。

先日、つむぎが制作させていただいたお客さまのサイトを見に行きました。
すると、トップページや講習履歴のページで、上記のようなよくわからないエラーが出ているではありませんか!?
要は、PHPというWeb上で動くプログラムが動作しているページで、エラーが発生しているというわけです。
「つい最近まで問題なかったのに、なぜ?なぜ???」
お客さまのサイトは、お名前.comというレンタルサーバーで運営しているので、早速お名前.comに電話して確認。

お名前.comの担当者さん曰く、
「6月中旬に、PHPのバージョンを5.5にアップしました~^^!
PHP5.2は、PHP自体のサポートが終了していますので。
お客さまにはメールでご案内しています~^^!」とのこと。

エラー発生の原因がわかったのと、これはお客さまでは対応できないと判断し、お客さまに連絡後、エラーの修復対応開始。
エラーの内容をよくよく読んでみると、date()という日付関連の関数がエラーになっている模様。
関連ファイルのプログラム全体の修正が必要かとかなり焦りましたが、意外と簡単に解決!で、その解決策は下記↓。

[解決方法1]
・php.ini(PHPの設定ファイル)に下記を記述して、サーバーにアップ
→date.timezone = Asia/Tokyo
※php.inに1行追加するだけで、PHP記述ファイル、すべてに適用されます。
※ただし、レンタルサーバーによっては、php.ini設定ができない場合やサーバーにアップできない場合があるので注意!

[解決方法2]
・エラー関連のPHP記述ファイルごとに、下記を追加記述
→date_default_timezone_set(‘Asia/Tokyo’);
※記述ファイルに対してのみ適用されます。

[解決方法3]
・.htaccessを使用している場合、.htaccessファイルに下記を追加記述して、サーバーにアップ
→php_value date.timezone Asia/Tokyo
※.htaccess制御範囲内のファイルに対して適用されます

お名前.comは、php.iniファイルのサ―バーアップができたので、私は[解決方法1]で対応。
なので、比較的簡単にエラーが解消されたというわけです。

今回のようなレンタルサーバー側の対応は、脆弱性などセキュリティーを考慮したものなので必要なことなのですが、このあたりお客さまでは対処できないところ。
サイト納品後のメンテナンスって、みなさんどうされてるんでしょうか?
今回のような場合、「エラーが、放置されたままになっているのかな?」と思ったり。

同じようなエラーで困られた方のお役に立てれば幸いです。覚え書きしておきます。

 

LINEで送る
Pocket

PAGE TOP