この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
記載された情報が古くなっている可能性がございますので十分ご注意ください。
PHP 5.3.0 からE_DEPRECATED エラーレベルが加わりました。
E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを表すエラーレベルです。
これによって、ライブラリなどで古い記述をされている場合はエラーとなってしまいます。
例えばこんなコードです。
$this->sample =& new Sample();
上記はPHP5から、オブジェクトは参照渡しがデフォルトになったため、”&” が不要になりました。
自分の作ったプログラムであれば、古い記述を変更すれば良いのですが、ライブラリなどはそうもいきません。
当然、この問題はライブラリを提供している側にも既知の場合が多く、バージョンアップすることで対応できてしまうことが多いため、必ず使っているライブラリが最新であるかは確認することをおすすめします。
ライブラリが対応していない等の場合の対処法ですが、「error_reporting」で制御します。
// 全てのエラー出力をオフにする error_reporting(0); // 旧デフォルトからE_DEPRECATEDをさらに除く error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
上記は、自分の作成したPHPのコード内で制御する場合ですが、「php.ini」を編集する場合や「.htaccess」で変更する場合は記述方法が異なりますので、ご注意ください。