Deprecated:警告を非表示にする。(PHP5.3.x)
自宅環境でPEAR::HTML_QuickFormを使ったら以下のように大量に警告が出た。
以下、エラー一部抜粋(検索用)
・・・・・ PHP Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/pear/PEAR/HTML/QuickForm/date.php on line 410 ・・・・・
バイト先の環境では出てなかったのに。調べたら・・・
php.netでこんな感じで発表されていた。非推奨な関数は使いたくないけど、PEARを使わないのもめんどうなので、現状回避策として、エラー表示をphp.iniを編集して非表示にすることに。
PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATED と E_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_ERROR や E_USER_WARNING のようなものを示すのに使います。INI ディレクティブで推奨されないものは以下の通りです。 これらのひとつ以上を有効にすると、起動時 E_DEPRECATED エラーが発生します
php.iniの設定で警告を回避!
$ vim /etc/php.ini ・・・・・ error_reporting = E_ALL ;↓変更 error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED ・・・・・
でApacheにリロードかけて、確認する。
$ /etc/rc.d/init.d/httpd reload
おーエラー消えた。
参考