PHP5移行の現状
PHP5移行の問題
2007年7月13日にPHP公式サイトより、2007年12月31日をもってPHP4の通常メンテナンスの中止、2008年8月8日をもってセキュリティフィックスの中止との発表がありました。しかし、2007年11月の時点で、PHPシステム全体のうち、73%程度がPHP4で稼働していると報告されています。
※ http://www.nexen.net/images/stories/phpversion/200711より引用
PHP5が2004年5月にリリースされて、すでに3年以上経ちますが、大半のPHPシステムはPHP4で稼働しているようです。PHP4でも十分、あるいは苦労して移行するほどではない、とお考えの方もいると思いますのので、ここでPHP4とPHP5 の主な違いを見ていきましょう。
PHP4とPHP5の主な違い
- オブジェクト機能の大幅強化
- データベース機能の強化(MySQLi、SQLite、PDOなど)
- XML関連モジュールの強化
- その他、関数やエクステンションの追加および不要なものの削除
PHP5は、PHP4の上位互換言語ではありますが、PHP4とPHP5では一部の仕様が変更されており、既存のプログラムを正常に動作させるにはこの非互換部分について修正する必要があります。移行の際、とくに気をつけなくてはいけないのが下記となります
- オブジェクトの仕様変更
- XML関連モジュールの変更
PHP5 移行のメリット
セキュリティ面
PHP4の開発の停止、また、来年8月のセキュリティ・パッチの提供も停止など、安定稼動などセキュリティ面を考えた場合、移行は必要事項となります。また、これまでPHP4の開発は継続されていましたが、セキュリティ面の強化はPHP5よりも弱く、安定的とは言えません。PHP5自体も、改修される中で、安定性が増しています。
PHP4からPHP6へ移行するという意見もありますが、バグの修正など、PHP6の安定稼動にはそれなりに時間がかかります。リリースから安定稼動までの期間を考慮すると、「PHP4からPHP6への移行」という選択は、セキュリティ面でリスクを伴い、プログラマの仕事、開発コストを増やしてしまう可能性が高まります。
機能面
- パフォーマンス
- PHP5が登場した際は、PHP4の方がパフォーマンスが良いという指摘もありましたが、PHP5.1、PHP5.2と改修されるなかで、大幅な高速化も実現され、現在では機能やパフォーマンス面でPHP4よりもPHP5の方が優れているといわれています。
- オブジェクト指向
- PHP4でのオブジェクト指向機能は十分とはいえませんでしたが、PHP5では、オブジェクト指向機能の問題が劇的に改善され、実装するのに十分な言語になりました。システムの拡張性、再利用性、保守性など、ソフトウェアとしての高品質を目指す場合、オブジェクト指向は実用的かつ必要です。バグ修正、機能の追加をスムーズに行うことが容易になり、開発費の膨張を止める効果が出ます。
オブジェクト指向機能の中でも、導入のメリットがあるものがフレームワークです。近年、PHP5で動作するsymfonyなどのフレームワークが注目を集めていますが、保守性に優れており、アプリケーションの雛形を構築するためのコーディングが大幅に削減できます。
PHP5移行に関して
先述のとおり、既存のシステムをPHP4からPHP5に移行する場合、非互換性部分について修正する必要があります。
一重にPHP4といっても、4.1/4.2/4.3/4.4の間で、少しずつ仕様が変更されているため、一部の内容についてはPHP4間の移行でも修正が必要になります。PHP4のバージョンアップに応じて、常にメンテナンスを行ってきた、すなわち現状PHP4.4で稼働しているシステムをPHP5へ移行する場合、比較的修正内容が少なく移行しやすい状態にあるといえます。なかにはほとんど修正しなくても動く場合もあります。古いバージョンで稼働しているシステムほど、修正個所が多くなり移行が困難となります。
アシアルでは、より困難なバージョンアップを、スムーズに進めるためのご支援を行っております。詳しくはPHP5移行支援コンサルティングのページをご覧下さい。




