browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

PHP5.3.2にハマる

Posted by on 2010年4月21日
このエントリーを Google ブックマーク に追加
[`buzzurl` not found]
[`yahoo` not found]
LinkedIn にシェア
GREE にシェア
LINEで送る

仕事で使っているサーバーで、PHP5.3.2へバージョンアップ作業をしました。
もちろん、FreeBSDですのでportsからです。
すると、Xoopsを使っているサイトだけが大量のエラーを表示して、サイトを表示してくれなくなりました。

Deprecated: Assigning the return value of new by reference is deprecated in (以下略)
というメッセージです。

ググってみましたら、Xoopsのコーディング手法に問題があるようなことを見かけました。その方法が5.3系になって非推奨となったということですが、5系から6系とメジャーバージョンアップした場合ならいざしらず、5.2系から5.3系とマイナーバージョンアップした程度で、非推奨だからと動作拒否をし、下位互換性を失わせるというのもいかがなものかと思います。
php.ini で、互換性を維持させる設定をできるようにすべきでしょう。

PHP 5.2系の最新をマニュアルでインストールしようかと思ったのですが、それをするとportsauditでセキュリティホール管理ができません。
仕方がないので、FreeBSDのportsコレクションを、PHP 5.3.2が導入される前の日付に戻して、csup でportsツリーを再構築しました。
lang/php5 他、make config でコンパイルオプションをチェックしてから、portinstall しました。

無事に復旧できましたが、面倒臭かった… orz

今回は、Xoopsが悪いというよりは、PHPが傲慢だったと言わざるをえないと思います。コーディング方法をとやかく言う以前に、配慮不足を指摘すべきと思います。

このエントリーを Google ブックマーク に追加
[`buzzurl` not found]
[`yahoo` not found]
LinkedIn にシェア
GREE にシェア
LINEで送る

Comments are closed.