Microsoft Windows의 Apache 2.x

이 섹션에는 Microsoft Windows 시스템에 PHP의 Apache 2.x 설치와 관련된 참고 사항과 힌트가 포함되어 있습니다.

메모: 먼저 수동 설치 단계를 읽으십시오!

Apache 2.x 서버에 대한 기본적인 이해를 얻으려면 » Apache 설명서를 참조하는 것이 좋습니다. 또한 여기를 읽기 전에 » Apache 2.x에 대한 Windows 관련 참고 사항을 읽어보세요.

최신 버전의 » Apache 2.x와 적절한 PHP 버전을 다운로드하세요. 수동 설치 단계를 따르고 PHP와 Apache의 통합으로 돌아가십시오.

Windows에서 Apache 2.x와 작동하도록 PHP를 설정하는 세 가지 방법이 있습니다. PHP는 핸들러, CGI 또는 FastCGI에서 실행할 수 있습니다.

메모: Windows에서 Apache 구성 파일에 경로 값을 추가할 때 c:\directory\file.ext와 같은 모든 백슬래시는 슬래시 c:/directory/file.ext로 변환되어야 합니다. 디렉토리에는 슬래시가 필요할 수도 있습니다.

Apache 핸들러로 설치

Apache 2.x용 PHP 모듈을 로드하려면 Apache httpd.conf 구성 파일에 다음 행을 삽입해야 합니다.

예제 #1 PHP 및 Apache 2.x를 핸들러로 사용

# before PHP 8.0.0 the name of the module was php7_module
LoadModule php_module "c:/php/php8apache2_4.dll"
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
# configure the path to php.ini
PHPIniDir "C:/php"
                

메모: 위의 예에서 PHP의 실제 경로는 C:/php/ 대신 대체되어야 합니다. LoadModule 지시문에서 참조하는 파일이 지정된 위치에 있는지 확인하십시오. PHP 7의 경우 php7apache2_4.dll을 사용하거나 PHP 8의 경우 php8apache2_4.dll을 사용합니다.

PHP를 CGI로 실행

Apache에서 CGI를 실행하는 방법을 더 완벽하게 이해하려면 » Apache CGI 문서를 참조하는 것이 좋습니다.

PHP를 CGI로 실행하려면 ScriptAlias ​​지시문을 사용하여 CGI 디렉토리로 지정된 디렉토리에 php-cgi 파일을 배치해야 합니다.

NS #! 행은 PHP 바이너리의 위치를 ​​가리키는 PHP 파일에 배치되어야 합니다.

예제 #2 CGI로서의 PHP 및 Apache 2.x

#!C:/php/php.exe
<?php
  phpinfo();
?>
                

경고 CGI 모드로 배포된 서버는 여러 가지 가능한 취약점에 노출되어 있습니다. 이러한 공격으로부터 자신을 방어하는 방법을 알아보려면 CGI 보안 섹션을 읽어보십시오.

FastCGI에서 PHP 실행

FastCGI에서 PHP를 실행하면 CGI로 실행하는 것보다 많은 이점이 있습니다. 이 방법으로 설정하는 것은 매우 간단합니다.

» https://www.apachelounge.com에서 mod_fcgid를 가져옵니다. Win32 바이너리는 해당 사이트에서 다운로드할 수 있습니다. 함께 제공되는 지침에 따라 모듈을 설치합니다.

특정 시스템에 설치한 방식을 반영하도록 경로를 조정하도록 주의하면서 아래와 같이 웹 서버를 구성합니다.

예제 #3 PHP를 FastCGI로 실행하도록 Apache 구성

LoadModule fcgid_module modules/mod_fcgid.so
# Where is your php.ini file?
FcgidInitialEnv PHPRC        "c:/php"
<FilesMatch \.php$>
    SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "c:/php/php-cgi.exe" .php
                

확장자가 .php인 파일은 이제 PHP FastCGI 래퍼에 의해 실행됩니다.