HOME > php > Deprecated [非推奨] functionの対策

Deprecated [非推奨] functionの対策

サーバーのPHPを、5.3.x 等にバージョンを上げたら、スクリプトが動かなくなった、動くようにしてほしい、などの依頼がまれにある。よくみると、

Deprecated: Function xxxx() is deprecated

等のWarningが吐き出されているため、以降の日本語が文字化けしており、「壊れている」ようにみえる。実際、壊れているのに等しいのだが、PHPはとくに問題なく動いている。

その原因は、あるバージョンから「非推奨」になった一部の function を使っていますよ、というレベルの高くない警告なのだ。

参照:PHP公式 http://jp2.php.net/manual/ja/migration53.deprecated.php

根本的な対処としては、「推奨」される function に置き換えていけばよいのだが、即効の応急措置として、エラーメッセージを表示させない、という対処もある。通常のレンタル共有サーバーでは、

php.ini の場合

display_errors = Off
あるいは
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

.htaccess の場合

php_value display_errors Off

あるいは

php_value "error_reporting" "E_ALL & ~E_NOTICE & ~E_DEPRECATED"

と設定する。

どうも、今後の、php 6 では、ereg_replace(), preg_match() といった、ごく普通に使っていた関数も deprecated となるようで、ちょっと面倒くさいことになりそう。開発が終わったら、とりあえず、エラーは切っておいたほうがよいということだろうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>