이 장은 PHP와 아파치를 Unix 와 Windows에 설치하는데 있어서의 여러가지 주의점과 힌트를 포함하고 있다.
아래에 8단계의 configure시에 Complete list of configure options에 있는 원하는 다른 옵션들을 추가한다.
아파치에서 PHP를 컴파일하는 여러 다른 예가 아래에 나와있다. :
이것은 libphp4.so 공유 라이브러리를 만든다. 이 파일은 아파치의 httpd.conf 파일에서 LoadModule 설정을 사용하여 아파치에 적재 될 수 있다. 그리고 PostgreSQL 지원은 libphp4.so에 포함시킨 형태이다.
이것은 아파치용 libphp4.so 공유 라이브러리를 만들고, pgsql.so라는 공유 라이브러리도 동시에 만든다. 이 pgsql.so 파일은 php.ini 파일에서 extension 지시자를 통해 적재할 수도 될 수도 있고, 스크립트내에서 dl()함수를 통해 적재될 수도 있다.
이것은 libmodphp4.a 라이브러리와 mod_php4.c, 기타 그에 따른 파일들을 만들고, 이 파일들을 아파치 소스 트리 밑의 src/modules/php4에 복사한다. 이후에 --activate-module=src/modules/php4/libphp4.a 옵션을 주어 아파치를 컴파일하면, 아파치 build 시스템은 libphp4.a를 만들고 이것을 httpd 바이너리에 정적으로 링크한다. PostgreSQL 지원은 httpd 바이너리에 직접 링크되므로, 결론적으로 Apache와 PHP의 모든 것을 포함한 httpd 바이너리 하나만이 만들어진다.
PostgreSQL지원을 최종 httpd에 포함시켰던 것을, php.ini 파일이나 dl() 함수를 사용하여 PHP에 동적으로 적재할 수 있는 pgsql.so 파일로 만든다는 것을 제외하면 이전 것과 같다.
이중에 어떤 방식을 사용해서 PHP를 만들 것인가는 각 방식의 장,단점을 충분히 고려한 후 결정하여야 한다. 동적 모듈로 만든 경우, 아파치를 별도로 컴파일 할 수 있고, 따라서 PHP에 어떤 추가나 변화가 있어도 전체를 다시 컴파일할 필요가 없다. 반면에 PHP를 아파치에 정적으로 포함시킨 경우, PHP를 빠르게 적재하고 빠르게 실행할 수 있다. 자세한 정보는 Apache webpage on DSO support를 살펴보기 바란다.
PHP를 windows하의 Apache 1.3.x에서 동작하도록 설치하는 방법은 두가지가 있다. CGI binary (php.exe)를 사용하는 방법과, Apache module dll을 사용하는 방법이다. 두 경우 모두 아파치를 PHP가 동작하도록 설정하기 위해서는 아파치 서버를 중지 시킨 후 srm.conf나 httpd.conf를 수정해 주어야 한다.
비록 Apache하에서 PHP의 설정이 약간 차이가 있을지 모르지만, 이 설정은 초보자도 할 수 있을 정도로 쉽다. 여기에 나온 것 이상의 설정 지시자는 Apache Docs를 참조하도록 하자.
만약 General Installation Steps에서와 같이 PHP 패키지를 C:\PHP\ 에 풀어놓았다면, CGI 바이너리를 설정하기 위해 다음과 같은 라인을 추가할 필요가 있다. :
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
만약 아파치에서 PHP를 모듈로 사용하고 싶다면, php4ts.dll을 windows/system (Windows 9x/Me의 경우) 이나 winnt/system32 (Windows NT/2000의 경우) 디렉토리로 옮겨야 한다. 그런 다음 아파치 conf 파일에 다음 두줄을 추가해 주어야 한다. :
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php .phtml
소스 코드 하이라이팅 기능(소스에 색깔을 넣어서 보기 좋게 출력해 주는 기능)을 사용하기 위해서는 다음과 같은 내용을 가지는 스크립트를 만들어주면 된다. : <?php show_source("original_php_script.php"); ?> 여기서 original_php_script.php 를 여러분이 원하는 소스 코드의 이름으로 바꿔주면 된다. (이것이 유일한 방법입니다.)
참고: Win-Apache에서 "c:\directory\file.ext"와 같은 path에 사용되는 모든 백슬래시(\)는 일반 슬래시(/)로 바꿔야 합니다.