Windows版ApacheでPHPを動作させるためのhttpd.confの設定

Windows版Apacheで、PHPを動作させるためのhttpd.confの設定については、度忘れしていたので、php.netのマニュアルを読むことにした。

《引用元》Apache 2.x (Microsoft Windows 用)
http://php.net/manual/ja/install.windows.apache2.php

<引用開始>

注意: Apache 2.2 のサポート
Apache 2.2 を利用している方は、Apache 2.2 用の DLL ファイルの名前が php5apache2.dll ではなく php5apache2_2.dll であることに注意しましょう。 このファイルは PHP 5.2.0 以降にしか含まれません。 ≫ http://snaps.php.net/も参照ください。

〜〜省略〜〜

注意: Windows 上で Apache 設定ファイルにパスの値を追加する際、例えば c:\directory\file.ext に含まれるすべてのバックスラッシュは c:/directory/file.ext のように前向きスラッシュに変換する必要があります。 また、ディレクトリを表す際には最後にスラッシュをつけなければなりません。

Apache ハンドラとしてのインストール

以下の行を Apache 設定ファイル httpd.conf に追加して Apache 2.x 用の PHP モジュールを読み込まなければなりません。

例1 PHP を Apache 2.x ハンドラとして使う設定

#
LoadModule php5_module "c:/php/php5apache2.dll"
AddHandler application/x-httpd-php .php

# php.ini へのパスを設定します
PHPIniDir "C:/php"

〜〜省略〜〜

注意: 上の例の C:/php/ は実際のパスにあわせて修正してください。 LoadModule ディレクティブで php5apache2.dll と php5apache2_2.dll のどちらを使うのかに注意し、 指定したファイルが実際にその場所にあるかどうかを忘れずに確認しましょう。

上の設定は、拡張子 .php を含むすべてのファイルを PHP で処理するようにします。 たとえそれ以外の拡張子が含まれていたとしてもです。たとえば example.php.txt という名前のファイルも PHP ハンドラが処理します。ファイル名の 最後が.php であるものだけを処理させたい場合は、次のように設定します。

<引用終了>

今から練習用に私が設定しようとしているApacheは2.2.xのバージョンであり、PHPのインストールフォルダはC:\phpとなるので、どうやら、Apacheのhttpd.confには、以下の3行を追記すれば良さそうだ。

LoadModule php5_module "c:/php/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"

この3行をhttpd.confに追記し、Apacheを再起動すると、ApacheでPHPを動作させることができるようになった。

今回、php.netのマニュアルを見て、以下の事項を知らなかったことに気づいた。

  1. example.php.txt という名前のファイルも PHP ハンドラが処理します。
  2. Windows 上で Apache 設定ファイルにパスの値を追加する際、例えば c:\directory\file.ext に含まれるすべてのバックスラッシュは c:/directory/file.ext のように前向きスラッシュに変換する必要があります

1つ目については、全く知らなかった。そんな変な拡張子をつけることはないが、気を付けたいと思った。

2つ目については、正確には知らなかったというよりは、どっちでもいいぐらいに思っていた。しかし、このようにはっきり書かれているので、今後は、\(バックスラッシュ)ではなく、/(スラッシュ)を使用するように注意したいと思った。

前へ

台風4号の影響で名古屋駅で新幹線(のぞみ119号広島行き)がストップ中

次へ

横内愛弓さんが演奏する「カノン (パッヘルベル) Johann Pachelbel Canon」が聴いていて気持ち良い