今回は,PHPのリリース関連情報としてPHP 5.1とPHP 4.4に関する話題について紹介した後,PEAR関連の話題としてPEAR 1.4で独自チャネルを公開する方法について解説する。

PHPの開発状況

図1●PHP開発の系譜
 PHPは,今日もオープンソースのプロジェクトとして精力的に開発が継続されている。PHP開発の基本的流れは,機能強化は主として最新の開発版(現時点ではPHP 5.1)で行われ,その他のより古いバージョンでは,主に安定化のためのバグ修正が行われるというものである。

 これまで,PHP 4はPHP 4.3系,PHP 5はPHP 5.0系が最新リリース版であったが,PHP 4.4とPHP 5.1がリリースされる見込みとなり,PHP 5.1の後継バージョンについての構想も明らかになるなど,複雑化してきた。

 PHP開発の系譜を図1[拡大表示]に示す。以下,PHPの各バージョンに関する開発状況を紹介するが,各バージョン間の関係については,適宜この図を参照していただきたい。

PHP4関連

 PHP 4系の最新版にあたるPHP 4.4.0のRC1 (リリース候補1版)が6月14日に公開された。PHP 4においては新機能の追加は行われずバグ修正のみが行われることとされている。このため,新たなマイナーリリースは行われずPHP 4.3.11の次のバージョンは,PHP 4.3.12となる予定であったが,リファレンスに関するバグを修正した際に過去のバージョンとバイナリレベルの互換性が失われることが明らかになり,混乱を避けるために新しくPHP 4.4.x系がリリースされることになった。

 PHP4.4.0は,このままテストが順調に行われれば6月の末か7月には正式版がリリースされる見込みである。PHP 4.4.0においては,本稿執筆時点までにPHP 4.3.11のリリース以降約50件のバグが修正されている。

 PHP 4.4.0において修正されるリファレンス関連のバグは,関数の内部でリファレンスによる代入が行われるときに特定の条件下でメモリーが破壊されるというものであり,具体的にはhttp://bugs.php.net/bug.php?id=29423などに示されているケースが相当する。関数やクラスのメソッド内でリファレンスへの代入を行っており,PHPが不定期にクラッシュするという問題を抱えている場合にはバージョンを更新すると良いだろう。

 なお,PHP 5ではこの問題は修正済みである。PHP 4.3.xとPHP 4.4.0の間ではバイナリレベルの互換性が失われているため,拡張モジュール(エクステンション)に関しては,再コンパイルが必要である。ただし,PHPスクリプトに関しては変更不要である。

PHP5.1関連

 PHP 5.1に関しても正式リリースに向けて作業が進んでおり,6月10日にPHP 5.1.0β1,6月22日にPHP 5.1.0β2が相次いで公開されている。

 PHPのコア開発者であるAndy Gutmans氏は,6月の終わりにPHP 5.1.0を公開するという計画を明らかにしているが,本稿執筆時点(6月27日)でリリース候補版が公開されていないことから,正式リリースが7月以降となることは確実である。

 既に前回までのPHPウォッチにおいても解説しているが,PHP 5.1.0においては実行速度が大幅に改善され,また,標準データベース用APIであるPDOのサポートなど,機能強化が行われる。PHP 4を使っているユーザーの間でもいよいよPHP 5に移行する割合が増えてくることが予想される。

 では,PHP5.1の次のバージョンはどうなるのだろうか?