PHPを使用できるようにする

 先に述べたように、PHPはApacheのWeb(HTTP)サーバーのモジュールとして組み込んで利用されることが一般的です。
 実はこの「ApacheにPHPを組み込む」というところが一番面倒かもしれませんが、良い機会だと思いますのでチャレンジしてください。
 以下では、PHP動作を確認するため、Apache2.2とPHP5をインストール方法として、Windows環境の例を挙げておきます。

▲この章の先頭へ戻る

Apacheのインストール

 Apacheは世界でもっとも多く使用されているWebサーバーです。
 公式サイトはhttp://httpd.apache.org/です。
 詳しいドキュメントはここを参照してください。

Apache2.2のダウンロード

 Webサーバーをダウンロードします。
 今回はApache2.2系の2.2.15(2010年4月1日現在最新版)を使用します。
 ※ 下記画像では2.2.4となっていますが、適宜「2.2.15」と読み替えてください。

 ダウンロードはいろいろなところで提供されていると思いますが、今回のダウンロードはhttp://httpd.apache.org/download.cgiから行います。
 ページが表示されたら、適当なMirrorサイトから、「Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.15-win32-x86-no_ssl.msi」を選択してください。
Apacheダウンロード画面

Apacheのインストール

 ダウンロードが完了したら、そのファイルを実行します。
 以下、インストールウィザードに従って簡単にインストール方法を説明します

  1. 以下ダイアログで「Next >」をクリックします。
    インストールウィザード1
  2. 以下ダイアログで「I accept the terms in the license agreemet」を選択して、「Next >」をクリックします。
    インストールウィザード2
  3. 以下ダイアログで「Next >」をクリックします。
    インストールウィザード3
  4. 以下ダイアログで、「ドメイン名」「サーバー名」「管理者メールアドレス」をそれぞれ適当な値を入力します。
    また、選択するポートは、同じマシンで他のWebサーバーを起動していないなら「80」番ポートの選択でよいでしょう。
    「Next >」をクリックします。
    インストールウィザード4
  5. 以下ダイアログでは、「Typical」の選択でよいでしょう。
    「Next >」をクリックします。
    インストールウィザード5
  6. 以下ダイアログで、インストール先を指定します。
    インストール先のディレクトリを変更したければ、「Change...」ボタンを押して適当なディレクトリを指定してください。
    指定したら「Next >」をクリックします。
    インストールウィザード6
  7. 以下ダイアログで、最終確認です。
    修正したいところがあれば「< Back」をクリックして変更してください。
    良ければ「Install」をクリックします。
    インストールウィザード7
  8. インストール後、自動的にApacheが起動したはずです。
    インストールウィザード9
    Windows右下のタスクバーを確認してください。
    Apacheのタスク確認

Apacheの動作確認

 上記で動作環境は整いました。
 Webサーバーが起動されているか確認してみましょう。
 Webブラウザから、ローカルマシンをURLとしたアドレスを入力します。

http://localhost/
 以下のような画面が見えていればApacheが起動していることになります。
最初のApache画面

 このようなページを置いておく場所などは、「インストール時に指定したディレクトリ\conf\httpd.conf」ファイルなどで設定します。
 なお、今後インストール先のディレクトリは、便宜的に「%APACHE_HOME%」と記述します。

コンテンツの保管場所

 既述ですが、コンテンツ(主にHTML)の保存ディレクトリを指定するファイルは、%APACHE_HOME%\conf\httpd.confです。
 具体的には、151行目の「DocumentRoot」というディレクティブで「"C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"」となっていますので、C:\Program Files\Apache Software Foundation\Apache2.2\htdocsディレクトリが、コンテンツ保存のトップディレクトリいうことになります(なお、これはデフォルトのディレクトリをインストール先とした場合です。デフォルト以外でインストールした方は「%APACHE_HOME%\htdocs」がコンテンツ保存のトップディレクトリになっているはずです)。
※Apacheでは、「DocumentRoot」のような内容を指定する識別子をディレクティブと呼び、「ディレクティブ名 設定内容」と記述します。なお、2.0系ではhttpd.confに設定のすべてを記述していますが、2.2系の雛型では設定ファイルがいくつかに別れていて、必要ならhttpd.confで各種設定ファイルをIncludeするようになっています(基本的には2.0系のhttpd.confの流用も可能です)。

自分のHTMLコンテンツを表示する

 確認のため自分でHTMLを作成したいと思います。
 下記、HTMLを記述して、DocumentRootディレクティブで指定されたディレクトリ(多分、%APACHE_HOME%\htdocs)に保存してください。
※下記はかなり手抜きのHTMLです。必要なら各自metaタグなどを追加してください。また、文字化けした場合は日本語コードを適切に変更してください。
[sample.html]

<html>

<head>
<title>サンプルページ</title>
</head>
<body>
<h1>仮ページ</h1>

<h2>作成者:稚内 太郎</h2>

</body>
</html>

実行してみます。

http://localhost/sample.html
sample.htmlの実行結果

▲この章の先頭へ戻る

PHPのインストール

 PHPは2010年4月1日現在5.2系最新の5.2.13をインストールします。
 ※ これも画像内では5.2.1となっていますが、適宜「5.2.13」と読み替えてください。

PHPのダウンロード

 http://www.php.net/downloads.phpよりダウンロードします。

  1. ダウンロードページでWindowsのZipパッケージを選択します。
    phpのダウンロード画面
  2. 次にダウンロード先を選択します。
    どこでも良いですが、下記では、jp.php.netを選択します。
    ミラーサイトの選択

PHPのインストール

 ダウンロードしたphp-5.2.9-2-Win32.zipの内容を展開して、適当なディレクトリにコピーしてください。なお、この後、PHPを展開したインストール先は便宜的に%PHP_HOME%と記述します。

 展開したPHPのフォルダ(%PHP_HOME%)にある設定ファイル名をリネームします。
 %PHP_HOME%にある「php.ini-recommended」を「php.ini」というファイ名に変更してください(念のため、コピー後リネームした方がよいでしょう)。

PHPのphp.iniファイルの修正

 先ほどコピーしてリネームした、「php.ini」ファイルを修正します。php.iniファイルはPHPで使用する機能の設定やディレクトリの指定などを行います。
 なお、「;」はコメントを表す記号です。
 以下の設定ファイルの修正では、行の追加などにより、示した行数と設定行が多少前後するかもしれません。前後の行もよく確認してください。

  1. [includeパスの設定: 558行目付近]
    他のPHPプログラムなどを読み込むためのincludeパスを設定。
    「D:\program\php」部分は各自がインストールした%PHP_HOME%ディレクトリを記述。
    ;include_path = ".;c:\php\includes"
           ↓
    ;include_path = ".;c:\php\includes"
    include_path = ".;D:\program\php\includes"
    
  2. [拡張モジュールを置いておくディレクトリを指定: 572行目付近]
    「D:\program\php」部分は各自がインストールした%PHP_HOME%ディレクトリを記述。
    extension_dir = "./"
         ↓
    ;extension_dir = "./"
    extension_dir = "D:\program\php\ext"
    
  3. [拡張モジュール(マルチバイト文字列)の使用: 719行目付近]
    コメントを外す。
    マルチバイト文字列の操作が可能になります。これにより正規表現による検索や置換などが行える。
    ;extension=php_mbstring.dll
         ↓
    extension=php_mbstring.dll
    
  4. [拡張モジュール(SQLite)の使用: 745行目付近]
    バンドルされているデータベースSQLiteをWindowsで使用するため、PHP 5.1.0からは手動で設定ファイルを変更する必要があります。
    下記のように、PDO(PHP Data Objects) 拡張モジュール(PHP の中からデータベースにアクセスするための軽量で高性能なインターフェイス)に関する記述もあわせて行ってください。
    ;extension=php_sqlite.dll
         ↓
    extension=php_pdo.dll
    extension=php_sqlite.dll
    

    ※ 上記php_sqlite.dllはSQLiteのバージョン2.xに対応することになります。本科目では特に必要ありませんが、SQLite3.xに対応したい場合はPDOのSQLドライバー「extension=php_pdo_sqlite.dll」も有効に(行頭の;を削除)してください。

  5. [日本語コードの設定: 1293行目付近]
    コメントを外す(変更)。
    PHP内部で扱う文字コードの設定。
    [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
             ↓
    [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 = SJIS
    
  6. [エラーメッセージ出力の指定: 397行目]
    エラーメッセージからファイルの構成やプログラムの構造を推測される恐れがあるので、通常は抑止しておくべきですが、学習する場合はエラーメッセージが出力された方が便利なので「On」にします。
    display_errors = Off
           ↓
    ;display_errors = Off
    display_errors = On
    

▲この章の先頭へ戻る

ApacheにPHPを組み込む

 ここまでで、ApacheにPHPを組み込む準備ができました。
 後は、Apacheの環境設定ファイルを修正してPHPを利用できるようにします。

Apacheのhttpd.confファイルの修正

 先ほども使用したApacheの%APACHE_HOME%\conf\httpd.confファイルを修正して、PHPが動作するようにします。
※もし説明している行がずれていたら、ディレクティブを参考にその前後の行も調べてください。

  1. [PHPモジュールの組み込み: 129行目付近]
    「php5_module」を追加。
    「D:/program/php」部分は各自がインストールした%PHP_HOME%ディレクトリを記述。
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
             ↓
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule php5_module "D:/program/php/php5apache2_2.dll"
    #php.ini の場所を設定
    PHPIniDir "D:/program/php"
    
    
  2. [ファイル拡張子による処理の指定: 413行目付近]
    「*.php」であればPHPを利用することを指定。
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
           ↓
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    

Apacheの再起動

 修正が終わったら、Apacheをリスタートさせてください。タスクバーのアイコンを左クリックしてメニューから「Restart」(あるいは「Stop」してから「Start」)を選択することでリスタートできます。
Apache2をRestart
 次の最初のPHPプログラムを実行して、PHPが動作するか確認してください。

▲この章の先頭へ戻る