この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
PHPのエラーであるDeprecatedを非表示にする方法
PHP5.3以降で新しく加わったエラーレベル「E_DEPRECATED」は、将来の PHP バージョンで動作しなくなるコードについて警告が表示されます。
例えば
Deprecated: Function ereg() is deprecated in (パス)
とか
Deprecated: Array and string offset access syntax with curly braces is deprecated in (パス) on line (行数)
と言ったような警告が表示されます。
ただ本番環境等でエラーを表示すると問題があるので、非表示にする際の設定方法をメモ代わりに残します。
エラーレベル から E_DEPRECATED を消す
設定方法は簡単で、エラーの表示を統括する「error_reporting」にて、「E_DEPRECATED」の表示を除外する設定を行います。
基本的にはプログラム内にて、error_reporting() を設定する。または php.ini にある設定項目「error_reporting」で設定を変更できます。
〇PHPのプログラム内で設定する場合
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);
〇php.ini で設定する場合
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
なお php.ini にて設定を行う場合は、ウェブサーバー(Apache、Nginx)の再起動が必要になります。ただしレンタルサーバー内で設定ファイルを編集した場合は、ご利用中のサービスの指示に従ってください。
非推奨のメソッド(関数)を修正してエラーを改善する
根本的に非推奨になっている箇所を修正することも考えても良いです。
どちらにしても今後の修正が必要なのであれば、事前に対処することも検討しましょう。
ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。