ApaheからPHPを利用できるように設定する

Apache から PHP を利用するために必要となる設定について解説します。具体的にはモジュール( php7_module または php_module )の追加と拡張子( .php )の登録を行います。

(Last modified: )

php_moduleモジュールを追加する

最初に PHP を利用するためのモジュールを追加します。今回は PHP 8 系を使用するので php_module を使用します。( PHP 7 系を使用する倍は php7_module を使用します)。

PHP をインストールしたディレクトリを確認すると、 Apache から PHP を利用するために必要な php8apache2_4.dll が含まれています( PHP 7 系の場合は php7apache2_4.dll )。

php_moduleモジュールを追加する(1)

httpd.conf ファイルテキストエディタなどで開いたあと「Dynamic Shared Object (DSO) Support」を検索して下さい。次のような記述が見つかります。

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so

..(途中略)..

#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so

動的に追加するモジュールが記述されています。 Apache2.4 系を利用している場合はこのブロックの一番最後に次の行を追加して下さい。

#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so

# PHP 7 の場合
LoadModule php7_module c:/pg/php/php7apache2_4.dll

# PHP 8 の場合
LoadModule php_module c:/pg/php/php8apache2_4.dll

※ PHP 8 の場合は php8_module ではなく php_module となる点にご注意ください。

追加する DLL ファイルのパスは PHP をインストールされた各自の環境に合わせて変更して下さい。

拡張子(.php)とPHPを関連付ける

PHP で使う拡張子( .php )と PHP を関連付けます。関連付けを行うことで、拡張子( .php )のファイルへアクセスがあった時に、 PHP を使って実行された結果がクライアントに返されるようになります。 httpd.conf ファイルの末尾に FilesMatch ディレクティブを使って次のように記述して下さい。

PHP 7 の場合:

<FilesMatch "\.php$">
  AddHandler php7-script .php
  AddType application/x-httpd-php .php
</FilesMatch>

PHP 8 の場合:

<FilesMatch "\.php$">
  AddHandler php-script .php
  AddType application/x-httpd-php .php
</FilesMatch>

※ PHP 8 の場合は php8-script ではなく php-script となる点にご注意ください。

php.iniの配置場所の指定(PHPIniDir)

PHP の設定ファイルである php.ini が設置されているパスを指定します。 httpd.conf ファイルを開き、今回は一番最後に次のように記述しました。

PHPIniDir "c:/pg/php"

上記は php.ini ファイルが C:\pg\php ディレクトリに設置してある場合です。ご自身の環境に合わせて変更して下さい。

php.iniの配置場所の指定(PHPIniDir)(1)

これで指定した場所にある php.ini ファイルを参照するようになります。

httpd.conf ファイルの更新が終わりましたら Apache を再起動して新しい設定を反映させておいて下さい。これで Apache から PHP を利用するための設定は完了です。

phpが利用できるか確認する

Apache から PHP を利用できるように設定ができたかどうかを確認するために、 phpinfo 関数を使った簡単なスクリプトを作成して動作確認を行います。テキストエディタを開き次のように記述します。

<?php
phpinfo();
?>

ファイル名は任意でいいのですが、今回は phpinfo.php という名前で Apache のドキュメントルートに配置しました。

phpが利用できるか確認する(1)

ブラウザを起動し http://localhost/phpinfo.php へアクセスして下さい。次のように PHP に関する情報が表示されれば Apache から PHP を利用できるようになっています。

phpが利用できるか確認する(2)

なお今回使用した phpinfo.php ファイルをそのまま外部から公開できる状態にしておくことは望ましくないので、確認が終わりましたら削除してください。

-- --

Apache から PHP を利用するために必要となる設定について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。