カテゴリー
SugiBlog Webデザイナー・プログラマーのためのお役立ちTips

PHP 5.2.xから5.3.xへバージョンアップ

この記事は最終更新日から1年以上経過しています。

とある環境でPHPをバージョンアップしました。
5.2.8から5.3.6へバージョンアップ。

仕様変更により推奨されない関数(Deplecated)でエラー。
今回はereg関連の関数でエラーでした。
代わりにpreg_matchを使用するようになっています。

他にも推奨されなくなった関数がありますので、詳しくは下記URLを参照してください。
PHP 5.3.x で推奨されない機能

その他、PEAR::DBでエラー。
元々のバージョンが以下の通り。
PEAR 1.50.2.18
DB 1.86

DBの

@$obj =& new $classname;

がエラー元。

これは推奨されない機能の「new の返り値を参照で代入すること」に当たります。
PHP5以降、new演算子は自動的に参照を返すようになりました。
以前までこれはE_STRICT(デフォルトではエラーが発生しないレベル)でしたが、
5.3以降ではE_DEPLECATEDが発生します。

5.3.xでは正しくは以下のようになっていないといけません。

@$obj = new $classname;

PEAR::DBを1.86から1.9.2へバージョンアップすることで解決しました。

この記事がお役に立ちましたらシェアお願いします
1,169 views

コメントを残す

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