« フレッシュミーティングのホームページデザインをリニューアル | メイン | フレッシュリーダー / フレッシュミーティング の PHP 5.2 対応アーカイブを公開 »

2006年11月11日

Windows版 PHP 5.2 へのバージョンアップは慎重に あとで読む

※本稿は PHP5.2 Windows インストーラー版について書かれています。

PHP 5.2 がリリースされています。が、PHP 5.2 は*一般的な*マイナーバージョンアップではありません。

apache2 と apache2.2 が別物であるのと同様、PHP 5.1.x と PHP 5.2 は かなりの別物 ですのでバージョンアップにはそれなりの時間と精神的余裕を確保できたときに行うことをお勧めします。
#一応メジャー改良版、という変な呼び方になっているようですが・・・


●Windows版のバージョンアップ方法

基本的には「以前のバージョンのPHPをアンインストール」してから行った方がいいと思います。
インストーラーが以前の 2.5MB ⇒ 18.8MB と急激に大きくなっていることからも、変化の多きさが伺えます。
以前のバージョンのゴミが残っていると予期せぬトラブルを引き起こします。

●インストールディレクトリの変更

ファイル構成が変更になったことを考慮してか、デフォルトのインストールディレクトリがこれまでの C:\PHP から C:\Program Files\PHP に変更されています。
この時点で上書きインストールを想定していないのは自明かと。

●環境に合わせたモジュールインストール

インストール時にWebサーバー+動作方法の大量の選択肢が表示されます。
この質問と後のカスタム設定により、インストールされるファイルが決定されます。
たとえば PHP5 でインストールされていた php-cgi.exe は IIS-ISAPI などを選択するとインストールされません。
(ま、その代わり拡張モジュールの追加がカンタンになっているようなのですが…)
評価の高いインストーラのようですが、あちこちにかなり落とし穴があるように思えました。
更地でない場合「一発で動いたらラッキー」くらいが丁度よい心構えかと。

●apache 2.2 に対応

Windows で apache 2.2 を使うなら、PHP 5.2 のインストーラーを使うのが最も簡単かと思います。
というか、PHP 5.1.x 以下で apache 2.2 の設定を行うのはXAMPPでも使わない限り普通の人には難しいので、これが唯一の選択肢になります。

●php.ini の変更

php.ini も php.ini-recommended と新しいバージョンが推奨されています。
それに伴い、インストーラーでは php.exe と同じフォルダ階層に php.ini が作成されるようです。
(ここから先は環境依存ですが、C:\Windows などに手でコピーしないと動かない場合などもありました)


●その他所感

バグフィックスやセキュリティ面での向上が大きい PHP 5.2 ですが、個人的には json_encode / json_decode が入ったことで ajax + API まわりがさらに楽しめそうな感じがしています。

ただ、Windows 版についてはもはや「気楽にインストール」できる代物ではない感じがしていてちょっと微妙です。
#Unix版は比較的スムーズに使えるようですが、、、


ということで、フレッシュリーダーフレッシュミーティングの PHP 5.2 対応の伏線エントリとして・・・
#いや単に18MBもあるインストーラー同梱できないし、できたとしてもこんな難しいインストーラー使えないよ・・・というぼやきエントリなんですが。。。
#XAMPPみたいなの作るか・・・orz

投稿者 aka : 2006年11月11日 20:10  / 2006年11月 / (~2006) 技術ネタ

トラックバック

人気ブログランキング - a++ My RSS 管理人ブログ

このエントリーのトラックバックURL:
http://133.242.136.64/mt-tb-sf.cgi/507

このリストは、次のエントリーを参照しています: Windows版 PHP 5.2 へのバージョンアップは慎重に:

» Apache2.2とPHP5.2 from オラオラ
前々からやってみたかった、Apache2.2へのアップグレード。 一度はインストールまでしたんですが、PHPが動作しなくて急きょApache2.0に変更したり... [続きを読む]

トラックバック時刻: 2006年11月13日 20:10

コメント

コメントしてください

あわせて読みたい




保存しますか?