ApaheからPHPを利用できるように設定する
Apache から PHP を利用するために必要となる設定について解説します。以前は mod_php を使った設定を行っていましたが、今回は FastCGI を使用する方法を解説します。
FastCGIに関する設定を行う
今回使用する PHP は Non Thread Safe 版を使用しています。また事前に「php.iniファイルの作成と初期設定」を参考に、 php.ini の作成と初期設定を行っています。
それでは httpd.conf ファイルを開き、次の 3 つの行についてコメントを外してください。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
httpd.conf ファイルの最後に次のように記述してください。(ファイルのパスは Apache をインストールされた各自の環境に合わせて変更して下さい)。
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
※ この設定を行うと、なぜか「Reason: DNS lookup failure for: 127.0.0.1:9000c:」というエラーが発生してしまうため、最終的に次のような設定に変更しました。
<IfModule proxy_fcgi_module>
ProxyFCGISetEnvIf "true" SCRIPT_FILENAME "C:/pg/Apache24/htdocs%{reqenv:SCRIPT_NAME}"
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000/"
</FilesMatch>
</IfModule>
DirectoryIndexディレクティブにindex.phpを追加する
DirectoryIndex ディレクティブに index.php を追加します。このディレクティブはクライアントからのリクエストが最後が「/」で終るディレクトリだった場合にどのファイルをクライアントへ返すのかを設定する場合に使います。(詳しくは「DirectoryIndexディレクティブ:ディレクトリへのリクエストに対してどのファイルを返すのか」を参照されてください)。
httpd.conf ファイルで次のように記述されている箇所を探してください。
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
次のように index.php を追加します。
#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
FastCGIサーバー(php-cgi.exe)の起動
Windows 環境の場合、 php-cgi.exe を FastCGI サーバーとしてバックグラウンドで待機させる必要があります。 php-cgi.exe は PHP をインストールしたディレクトリにあります。
コマンドプロンプトを起動し、 PHP をインストールしたディレクトリに移動してから次のように実行してください。
php-cgi.exe -b 127.0.0.1:9000
※ php-cgi.exe は Ctrl + C で停止できます。
これで準備は完了です。
phpが利用できるか確認する
Apache から PHP を利用できるように設定ができたかどうかを確認するために、 phpinfo 関数を使った簡単なスクリプトを作成して動作確認を行います。テキストエディタを開き次のように記述します。
<?php phpinfo(); ?>
作成したファイルを info.php という名前で Apache のドキュメントルートに保存しました。
ブラウザを起動し http://localhost/info.php へアクセスして下さい。次のように PHP に関する情報が表示されれば Apache から PHP を利用できるようになっています。
-- --
Apache から PHP を利用するために必要となる設定について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。