PHP(ピー・エイチ・ピー)

【PHP5.3】廃止予定関数を使用するとDeprecatedエラーが出ます

最近、ディープのサーバーをさくらインターネットの専用サーバーへ乗り換えたのですが、

ちょっとした問題が発生しました。

 

新サーバーのPHPのバージョンは5.3なんですが、

旧サーバーで作成したシステムを乗せると至る所でエラーが!!!!!!!!!!!

 

PEARを使用しているプログラムで、

Deprecated: Assigning the return value of new by reference is deprecated

とか

Deprecated: Function eregi() is deprecated

のような、

今まであまり目にしたことのないエラーメッセージです。

 

どうも、

PHP5.3からerror_reportingに「E_DEPRECATED」というエラーレベルが追加されていました。

 

これは、

今後、ereg()関数やsplit()関数などのサポート廃止予定の関数を使用した場合には、警告を出しますよ!

みたいなことらしいです。

 

このエラーへの一番簡単な対処方法は、

error_reportingを「E_ALL & ~E_DEPRECATED」にして、E_DEPRECATEDのエラーは出さないようにする!!

です。

 

でも、

いずれサポート廃止する関数をこんな一時的な処置で回避していると後々エライ目に合いそうなんで、

エラーの箇所を洗い出して一つ一つ修正することにしました。

ereg()preg_match()に、

split()explode()に、

変更!!

 

これで大丈夫な筈なんですが、

なんせ至る所でPEARを使用しているので途中で挫折しました。

 

仕方ないので、やはりerror_reportingの設定を変更して対応することにしました。

といっても、大元のphp.iniを書き換えるのは嫌なので、

エラーが出ているページのスクリプトの頭の方に、

error_reporting(E_ALL & ~E_DEPRECATED);

という1行を加えてやることで回避しました。

 

結局、エラーレベルを変更するんかい、と言われそうですが。。。。

 

そこは大人の対応で気付かない振りをしてください。

この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. 共用サーバ(レンタルサーバ)
  2. サーバー
  3. リマーケッター
  4. 不動産会社向けのWordPressテーマ
  5. レンタルサーバ:おすすめの共用サーバ
  6. ホームページを活用
  7. Perl(パール)
  8. Perl(パール)
  9. ホームページを活用
  10. データ転送
ConoHa WING 2周年キャンペーン中

アーカイブ

PAGE TOP