バージョンアップで、チェックが厳しくなっていたようです。
photo credit: YanivG via photopin cc
新しい実行環境でのテスト
PHP 5.4.7の環境で、以前作られたプログラムを動かしたら、2種類のメッセージ表示されました。
「Strict Standards: Redefining already defined constructor for class EntryTranInput in C:\xampp\htdocs\EntryTranInput.php on line 75」と「Deprecated: Function split() is deprecated in C:\xampp\htdocs\Log.php on line 76」です。
どちらも自分が作ったわけではなく、組み込むために提供されたプログラムなので、勝手に修正して動作がおかしくなるのは避けたいです。
調べた結果から対処
調べていくと、エラー警告の設定を変更すれば、対処できるということがわかりました。
1個目は、php.iniを
error_reporting = E_ALL & ~E_STRICT
とすれば、警告が消えました。
2個目は、php.iniを
error_reporting = E_ALL & ~E_DEPRECATED
とすれば、警告が消えました。
両方表示したくないので、
error_reporting = E_ALL & ~E_STRICT & ~E_DEPRECATED
として、表示されなくなりました。
今回学んだこと
バージョンあがって、より厳しくなっているので、新しいコードを書くときは、環境を問わず動作するようにしておかないと、後々最新の環境で動かすときに修正が多くなるので、気をつける必要があります。