ApaheからPHPを利用できるように設定する
Apache から PHP を利用するために必要となる設定について解説します。具体的にはモジュール( php7_module または php_module )の追加と拡張子( .php )の登録を行います。
(2022 年 04 月 08 日公開 / 2022 年 04 月 08 日更新)
php7_moduleモジュールを追加する
最初に PHP を利用するための php7_module モジュール(PHP 8 の場合は php_module)を利用できるようにします。
PHP をインストールしたディレクトリを確認すると、 Apache から PHP を利用するために必要な php7apache2_4.dll または php8apache2_4.dll ファイルが含まれていると思います。
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 系を利用している場合はこのブロックの一番最後に次の行を追加して下さい。
# # 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 # 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 ファイルを参照するようになります。
httpd.conf ファイルの更新が終わりましたら Apache を再起動して新しい設定を反映させておいて下さい。これで Apache から PHP を利用するための設定は完了です。
-- --
httpd.conf ファイルの更新が終わりましたら Apache を再起動して新しい設定を反映させておいて下さい。これで Apache から PHP を利用するための設定は完了です。
phpが利用できるか確認する
Apache から PHP を利用できるように設定ができたかどうかを確認するために、 phpinfo 関数を使った簡単なスクリプトを作成して動作確認を行います。テキストエディタを開き次のように記述します。
<?php phpinfo(); ?>
ファイル名は任意でいいのですが、今回は phpinfo.php という名前で Apache のドキュメントルートに配置しました。
ブラウザを起動し http://localhost/phpinfo.php へアクセスして下さい。次のように PHP に関する情報が表示されれば Apache から PHP を利用できるようになっています。
なお今回使用した phpinfo.php をそのまま外部から公開できる状態にしておくことは望ましくないので、確認が終わりましたら削除してください。
-- --
Apache から PHP を利用するために必要となる設定について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。