毎週火曜はプログラミングの授業なんですが家でのプログラミングと学校でのプログラミングと作成環境が違うせいか、なぜかいつもPHPのインストールで壁にぶち当たり、毎回授業でPHPをインストールしております(トホホ)。
インストール知識を得たついでにざっくりとメモっておきます。
ちなみにPHPは0.1バージョンが違うだけでもバグったり、インストール方法が変わってたりするので(講師の先生談)、もしこのメモを見てインストールを実行するなら適用するのは5.1.0だけにしておいた方がいいと思います。
あと、この方法は鵜呑みにしないでDLした後に展開したフォルダに入ってるinstall.txtというマニュアルをちゃんと読みながら比較しながらやって下さいね(英語だけど)。
【環境紹介】
Windows XP Home Edition
Apache 1.3.29 (※2以降はconfの設定が多少違うのでマニュアルを読もう)
PHP5.1.0をDL(
http://www.php.net/releases.php)。
デスクトップとかで展開。「php-5.1.0-Win32」というフォルダが出来ます。
フォルダ名をリネームして、Cドライブ直下とか任意の場所に移動。
私の場合は色んなバージョンのPHPを入れてるので「php5.1.0」にしてます。
(そして、以降これを前提として話を進めていきます)
Apache内にあるhttpd.confに以下を追加。
#LoadModule群の1番下に追加
LoadModule php5_module "C:/php5.1.0/php5apache.dll"
#AddModule群の1番下に追加
AddModule mod_php5.c
#<IfModule mod_mime.c>内のAddType群の下に追加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
まぁ…これらは1番下にまとめてドカーンと置いても動くっちゃ動くんですけどね。マニュアルにはこうしろと書いてあるので一応従っておきます(笑)。
以上でhttpd.confの設定は終了。
次はphp.iniの設定。
php.exeと同一階層にある「php.ini-recommended」を「php.ini」にリネーム
。そしてテキストエディタでphp.iniを開きます。extensionsフォルダ(拡張モジュールのあるフォルダ)の場所を指定します。
; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:/php5.1.0/ext/"
mbstring.dllとSQLite.dllを使う方は以下の手続きをして下さい。
要らない人は無視してphp.iniの設定は終了。
;extension=php_mbstring.dll → extension=php_mbstring.dll
;extension=php_sqlite.dll → extension=php_sqlite.dll
という風にコメントアウト。ただ、マニュアルを見る限りではSQLiteはこれだけで使用できるらしいのですが、私のところでは上手くいかず、先生に尋ねてみると、php_pdo.dllもロードしなければならないそうです。ですので、extension=php_sqlite.dllの上に
extension=php_pdo.dll
を追加しましょう。これはPHPからDBにアクセスする時のODBC的役割をする拡張モジュールだそうです。こんなものを追加しなければいけないなんてマニュアルには書いてないので、これはバグらしいです。
それからこんな面倒な、SQLiteをphp.iniでロードしなければいけない作業は5.1.0以降からです。
さて、以上でphp.iniの設定は終了です。
php4.3.0などの導入方法を見ているとwindowsフォルダの中にphp.iniやphp4ts.dllをsystem32に移動としてありますが、php5からはphp.iniの場所をwindowシステムフォルダの下に入れなくても良くなりました(先生談。マニュアルにも"php.exeと同一階層に置くこと推奨"と書いてあります)。
…ということでphp.iniの場所を指定してやるためにマイコンピュータから環境変数を作成してやります。
マイコンピュータ右クリック>プロパティ>詳細設定>環境変数
でシステム環境変数から新規で作成。
「PHPRC」という変数名で「C:¥php5.1.0¥;C:¥php5.1.0¥php.ini;」と、実行ファイル(php.exe)と設定ファイル(php.ini)の場所を指定。
その後、パソコンを再起動。
(Apacheではなくパソコン。でないとApache1.3台では環境変数が適用されない。)
phpinfo()のファイルを作ってApacheのどこぞにでも置いてやって下さい。そんでそのファイルにアクセス。
PHPの情報が出てきて、
PHP Versionが5.1.0、Configuration File (php.ini) PathがC:¥php5.1.0¥php.ini、と出ていたなら成功。
mbstring.dllとsqlite.dllの設定をした人は各自検索でもかけてある事を確認して下さい。確認できたら終了です。
メモ
http://kisa.homeip.net/wiki/?Apache%A4%CE%C0%DF%C4%EA(Windows%CA%D4