資料

Windows でテスト環境を構築する

以下の内容は全て執筆当時の情報に基づいていることを注意すること。
特に PHP5 に関してはβ版を元にしているため、正式版では起こらない問題も含まれていることに注意。

PHP5 インストール

PHP5 のインストールはやや面倒だ。
そもそも PHP5 は Beta の状態であり、Apache2 に PHP5 をインストールする為の情報は極端に少ない。
これをなんとか行ってみよう。

2003/10/30 付けで PHP 5.0.0 Beta 2 が公開された。
以下は Beta 1 時点での解説になるが、本筋は変わっていないので適宜読み替えて欲しい。

まず PHP5 のパッケージを貰いに行こう。
PHP の公式ページに行く。

PHP: Hypertext Preprocessor
http://www.php.net/


そして、ちょっと保護色になっていて見難いが、ヘッダ部分に download という項目があるのでクリックする。


するとダウンロード項目の一覧に移動するので、PHP 5 Beta 1 までスクロールする。


Windows Binaries という項目があるので、ここから PHP 5.0.0b1 zip package をクリックしよう。


すると、ダウンロード先のミラーを選択する画面に移動する。
やはり日本国内のミラーが自動選択されているので、素直に使おう。
すると php-5.0.0b1-Win32.zip がダウンロード出来る。

パッケージは ZIP 形式でアーカイブされているので、ZIP 形式に対応した解凍ツールで解凍しよう。
持っていない人は総合アーカイバプロジェクトに行って、ZIP 形式に対応した DLL と対応ツールをダウンロードしてインストールしてしまって欲しい。

総合アーカイバプロジェクト
http://www.csdinc.co.jp/archiver/

ちなみに瑞輝は LHA ユーティリティ 32 を愛用している。

LHA ユーティリティ 32
http://www.kazusoft.net/

では、早速インストールを開始する。
php-5.0.0b1-Win32.zip を解凍すると php-5.0.0b1-Win32 というフォルダが出来るので、これを php5 というフォルダ名に解凍して C:\ に移動する。
即ち、PHP5 のインストールフォルダは C:\php5 となる。

次ぎに、C:\php5\php.ini-dist を、C:\WINNT 以下に php.ini という名前でコピーする。
そして最低限の設定を行う。

まず PHP5 の機能を拡張する DLL が格納されているディレクトリを指定する。
指定は extension_dir という項目に行うので、php.ini から探して設定する。
今回の場合には C:\php5\extensions なので、以下のように設定する。

; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:/php5/extensions"

また、ファイルのアップロードや、セッション管理を行いたい場合には、以下のように設定する。
設定したフォルダを実際に作成しておくことも忘れてはいけない。

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:/php5/_upload"

; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
session.save_path = "c:/php5/_session"

次ぎに日本語を利用出来るように設定する。
Windows 版の PHP では php_mbstring.dll という拡張モジュールで日本語を処理する
これを設定しよう。
php.iniphp_mbstring.dll の呼び出しの設定があるので、これをコメントアウトしている部分を解除する。

extension=php_mbstring.dll

さらに mbstring の設定を行う。
php.ini[mbstring] というセクションがそれなので、以下のように書き換える。
なお、ここでは EUC-JP 日本語コードを前提とする。

[mbstring]
; language for internal character representation.
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP

; http input encoding.
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = EUC-JP

; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On

; automatic encoding detection order.
; auto means
mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
mbstring.func_overload = 0

さらに output_handler という項目を探して、以下のように設定する。

output_handler = mb_output_handler

以上で最低限の PHP の設定は終わる。
次ぎに Apache2 から PHP を使えるようにしよう。


前項の手順で httpd.conf を開き、LoadModule という設定が並んでいる下辺りに以下の記述を追加する。

LoadModule php5_module C:/php5/sapi/php4apache2.dll
AddType application/x-httpd-php .php

で、前項の手順で Apache2 を再起動する。


なお、ここで以下のような表示が出現する場合がある。
PHP5 Beta 1 ではマニュアル通りにインストールしても出てしまうようだ。
この場合、C:\php5\dlls\iconv.dllC:\php5\php4ts.dllC:\php5\sapi にコピーすると正常に起動する。


正常にインストールされたことを確認するため、前項で設定した Apache2 のドキュメントルートに、phpinfo.php という名前で以下の内容だけ記述したファイルを作成する。

<?php phpinfo(); ?>

そしてブラウザから参照する。
以下のように表示されたらインストールは成功だ。


なお、日本語の設定が正常に行われているかどうかを確認しよう。
上で表示した画面から mbstring という文字列を検索すると、その下に mbstring の設定が列挙されているはずだ。


Valid HTML 4.01 Strict Valid CSS!