Apache | PHPを使用するための設定 | モジュール(php7_module)の追加と拡張子(.php)の登録
Apache経由でPHPを使用するために必要なモジュール(php7_module)の追加と、拡張子(.php)を登録する方法について説明する。
モジュールの追加
まず、PHPを使用するためのモジュールを追加する必要がある。Apache設定ファイルであるApache24/conf/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 watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
動的に追加するモジュールが記述されている。Apache 2.4を利用している場合は、このブロックの末尾に次の行を追加する。これはPHP 7を利用する場合の例である。
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
LoadModule php7_module C:/apache/php-7.4.0-Win32-vc15-x64/php7apache2_4.dll
追加するDLLファイルのパスは、PHPをインストールした各自の環境に合わせて変更する。
–
PHPをインストールしたディレクトリを確認すると、先ほどのDLLファイルが存在することを確認できる。
C:\apache\php-7.4.0-Win32-vc15-x64>dir
C 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 4E53-ECB8
C:\apache\php-7.4.0-Win32-vc15-x64 디렉터리
2019-12-05 오후 11:06 <DIR> .
2019-12-05 오후 11:06 <DIR> ..
2019-11-27 오후 08:24 119,808 deplister.exe
2019-12-05 오후 11:06 <DIR> dev
2019-12-05 오후 11:06 <DIR> ext
2019-12-05 오후 11:06 <DIR> extras
2019-11-27 오후 08:24 1,374,720 glib-2.dll
2019-11-27 오후 08:24 18,432 gmodule-2.dll
2019-11-27 오후 08:24 27,980,288 icudt65.dll
2019-11-27 오후 08:24 2,632,192 icuin65.dll
2019-11-27 오후 08:24 61,440 icuio65.dll
2019-11-27 오후 08:24 1,890,304 icuuc65.dll
2019-12-05 오후 11:06 <DIR> lib
2019-11-27 오후 08:24 3,422,208 libcrypto-1_1-x64.dll
2019-11-27 오후 08:24 47,616 libenchant.dll
2019-11-27 오후 08:24 282,624 libpq.dll
2019-11-27 오후 08:24 108,544 libsasl.dll
2019-11-27 오후 08:24 300,544 libsodium.dll
2019-11-27 오후 08:24 1,301,504 libsqlite3.dll
2019-11-27 오후 08:24 225,792 libssh2.dll
2019-11-27 오후 08:24 679,424 libssl-1_1-x64.dll
2019-11-27 오후 08:24 3,272 license.txt
2019-11-27 오후 08:24 18,782 news.txt
2019-11-27 오후 08:24 197,120 nghttp2.dll
2019-11-27 오후 08:30 43 phar.phar.bat
2019-11-27 오후 08:30 53,231 pharcommand.phar
2019-11-27 오후 08:24 72,704 php-cgi.exe
2019-11-27 오후 08:24 36,864 php-win.exe
2019-11-27 오후 08:24 128,512 php.exe
2019-11-27 오후 08:24 74,599 php.ini-development
2019-11-27 오후 08:24 74,904 php.ini-production
2019-11-27 오후 08:24 35,840 php7apache2_4.dll <------------ 여기 있다.
2019-11-27 오후 08:24 890,770 php7embed.lib
2019-11-27 오후 08:24 344,064 php7phpdbg.dll
2019-11-27 오후 08:24 9,496,064 php7ts.dll
2019-11-27 오후 08:24 346,112 phpdbg.exe
2019-11-27 오후 08:24 30,257 readme-redist-bins.txt
2019-11-27 오후 08:24 4,846 README.md
2019-12-05 오후 11:06 <DIR> sasl2
2019-11-27 오후 08:24 2,224 snapshot.txt
33개 파일 52,255,648 바이트
7개 디렉터리 450,575,360,000 바이트 남음
C:\apache\php-7.4.0-Win32-vc15-x64>
これでApache起動時にPHPモジュールが追加で読み込まれる。
拡張子(.php)の登録
PHPで使用する拡張子(.php)とPHPを関連付ける。登録することで、拡張子(.php)のファイルにアクセスがあったとき、PHPを使用して実行された結果がクライアントへ返される。httpd.confファイルの最下部に次のように記述する。
<FilesMatch "\.php$">
AddHandler php7-script .php
AddType application/x-httpd-php .php
</FilesMatch>
これで拡張子が登録された。
php.iniの場所指定(PHPIniDir)
PHP設定ファイルであるphp.iniがインストールされているパスを指定する。httpd.confファイルを開き、今回は末尾に次のように記述する。
PHPIniDir "C:/apache/php-7.4.0-Win32-vc15-x64"
上記は、php.iniファイルがC:/apache/php-7.4.0-Win32-vc15-x64ディレクトリにインストールされている場合である。自分の環境に合わせて変更する。初回インストール後にphp.iniが存在しない場合は、php.ini-developmentファイルまたはphp.ini-productionファイルをコピーし、拡張子をiniに変更する。
これで指定した場所にあるphp.iniファイルを参照できる。
httpd.confファイルを変更したら、Apacheを再起動して新しい設定を反映する。