PHP

PHP

PHP5.3で問題が発生です!!

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

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

 

新サーバの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(E_ALL & ~E_DEPRECATED);

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

 

結局、

php.iniを修正するのと変わらんやんと言われそうですが。。。。

 

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

関連記事

  1. PHP
  2. PHP

    PHP

    array_search()関数とin_array()関数

    ある特定の値が配列の中に含まれているかをチェックする際にarray_s…

  3. PHP

    PHP

    in_array()関数では第3引数(true)を設定する

    ある配列の中に特定の値が貼っているかをチェックする場合、in_ar…

  4. PHP

    PHP

    imagejpeg(): Filename cannot be empty in…

    以前組んだシステムを別のサーバーに設置することに!!…

  5. PHP

    PHP

    【PHP】PNG画像をリサイズ

    画像のアップロード機能を作成していたのですが、少しはまったので、…

  6. PHP

    PHP

    【PHP】数字を指定の桁数にフォーマット(0埋め)

    PHPを使って、数字を指定した桁数にフォーマットする方法数…

最近の記事

  1. PHP
  2. Python
  3. Python
  4. PHP
  5. 宅建
PAGE TOP