[PEAR] Strict、Deprecated error や Warning を表示させない設定方法
PHPのPEARを使い始めたら、早速エラーが大量に出てきました。
エラーの出力設定を変更できるようなので
Deprecated: Assigning the return value of new by reference is deprecated in ~ |
とか
Strict Standards |
というエラーが出ます。
・PHP: error_reporting – Manual
デフォルトの設定では以下のようになっています。
error_reporting = E_ALL | E_STRICT |
これを以下のように、E_STRICT と E_DEPRECATED のエラーが出ないように設定すればOKです。
error_reporting = E_ALL & ~E_DEPRECATED |
設定後に、Apacheを再起動して設定を反映します。
# /usr/local/apache2/bin/httpd -k graceful |
error_reporting の設定が反映されているかの確認は # php -i | less コマンドで
Configuration File (php.ini) Path => /usr/local/lib Loaded Configuration File => (none) |
Loaded Configuration File が none となっているため、php.ini を読み込めていないようです。
何故か、僕は/usr/local/lib/php/php.ini に置いていたため読み込めていませんでした。
ちゃんと/usr/local/lib/ディレクトリ直下にphp.ini を移動させると、設定が反映されているようです。
Configuration File (php.ini) Path => /usr/local/lib Loaded Configuration File => /usr/local/lib/php.ini |
# php -i | grep error_reporting error_reporting => 22527 => 22527 |
以上です。
【参考】
・php5.3でDeprecatedエラーに遭遇 « kawama.jp
・PHP5でPEAR::DBを教本通り使ったらStrict Standardsエラーが発生した件 – TMD45LOG!!!
・PEARの呼び出しなどで出るStrict errorやWarningを一時的に消す方法 – Layer8 Reference
・php5.3 Assigning the return value of new by reference is deprecated – 為せば成る・・・かもしれない