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

동적으로 추가할 모듈이 작성되어 있다. Apache2.4를 이용하고 있는 경우에는 이 블록의 맨 끝에 다음 행을 추가한다. (PHP7를 이용하는 경우이다.)

#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>

이것으로 PHP 모듈을 Apache 시작할 때에 추가로 불려오게 된다.

확장자 (.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를 다시 시작하여 새 설정을 반영한다.