윈도우 환경에 아파치, mysql php에 연동하는 과정을 설명하고자 합니다. php설치, 연동방법은 2가지가 있는데, cgi 바이너리 설치와 아파치 모듈 설치가 그것입니다.

 

우선 php파일을 다운받습니다. http://www.php.net/downloads.php 에서 다운로드 받거나, 위 링크에서 다운로드 받아 설치 진행합니다. 참고로 윈도우 버전은 http://windows.php.net/download/ 에서 다운로드 받아야 합니다.

다운로드 받은 파일을 C:\php 디렉토리에 압축해제합니다
.

 

Php 버전에 자동 인스톨버전이 있지만 호환성, 연동성 문제로 제대로 동작하지 않아 가급적 수동적인 방법으로 설치하길 권합니다.

 

아파치 2.0.x 는 윈도우 NT 4.0, 윈도우 2000, 윈도우 XP, 이상 버전에서 실행하도록 설계되지만, 윈도우 9x 은 제대로 동작하지 않습니다.

 

윈도우 상에서 아파치 설정 파일에 경로 값을 추가할 때는 다음과 같이 모든 백슬래시를 슬래시로 바꿔야 합니다: c:\directory\file.ext c:/directory/file.ext 로 바꿉니다. 디렉토리에는 마지막에 슬래시를 붙여줘야 합니다.

 

Cgi 바이너리 설치

 

CGI 바이너리로 설치하려면 아래 세 줄을 아파치 httpd.conf 설정 파일에 작성해야 합니다:

 

# c:/php/ php 설치경로입니다.

# ScriptAlias를 찾아 그 아래에 코드를 작성합니다.

ScriptAlias /php/ "c:/php/"

 

# php코드를 인식할 확장자를 작성합니다.

# AddType를 찾아 그 아래에 코드를 작성합니다.

AddType application/x-httpd-php .php .html .htm .inc

 

# 마지막 줄에 버전에 맞는 코드를 작성합니다.

# PHP 4.x 버전이면, 이 코드를 작성합니다.

# Action application/x-httpd-php "/php/php.exe"

 

# PHP 5.x 버전이면, 이 코드를 작성합니다.

Action application/x-httpd-php "/php/php-cgi.exe"

 

우리는 최신 버전을 설치할 것이고, C:\php 폴더에 설치하고자 한다면, 다음과 같이 작성하여야 합니다.

 

ScriptAlias /php/ "c:/php/"

AddType application/x-httpd-php .php .html .htm .inc

Action application/x-httpd-php "/php/php-cgi.exe"

 

아파치 모듈 DLL 설치

 

아파치 2.0 PHP 모듈을 설치하려면, 아래 세 줄을 아파치 httpd.conf 설정 파일 마지막 줄에 작성해야 합니다.

# PHP 4.x 버전, 아파치 2.0 버전 설치환경일 경우.
 LoadModule php4_module "c:/php/php4apache2.dll"
 AddType application/x-httpd-php .php .html .htm .inc

 # php.ini 파일이 위치하는 경로입니다.
 PHPIniDir "C:/php"

 

 # PHP 5.x 버전, 아파치 2.0 버전 설치환경일 경우.
 LoadModule php5_module "c:/php/php5apache2.dll"
 AddType application/x-httpd-php .php .html .htm .inc

 # php.ini 파일이 위치하는 경로입니다.
 PHPIniDir "C:/php"
 

 

아파치 버전 2.2.x, php 5.x 에 설치하고자 한다면, 다음 코드를 작성하여야 합니다.

 # PHP 5.x 버전, 아파치 2.2.x 버전 설치환경일 경우.
 LoadModule php5_module "c:/php/php5apache2_2.dll"
 AddType application/x-httpd-php .php .html .htm .inc

 # php.ini 파일이 위치하는 경로입니다.
 PHPIniDir "C:/php"

 

버전별 DLL 모듈에 대한 간략 설명입니다.

 php4apache.dll     # 버전 php 4, apache 1.x
 
php4apache2.dll    # 버전 php 4, apache 2.0
 php5apache2.dll   
# 버전 php 5, apache 2.0
 php5apache2_2.dll  # 버전 php 5, apache 2.2.x

 php4isapi.dll      # 버전 php 4, lls 서버용
 php5isapi.dll      # 버전 php 5, lls 서버용
 
 php4nsapi.dll      
# 버전 php 4, Sun/iPlanet/Netscape 서버용
 php5nsapi.dll      # 버전 php 5, Sun/iPlanet/Netscape 서버용

 php4pi3web.dll     # 버전 php4, Pi3Web 서버용
 php4pi3web.dll     # 버전 php5, Pi3Web 서버용


간단한 파일 디렉토리 목록입니다.

 c:\php
   |
   +--dev
   |  |
   |  |-php5ts.lib
   |
   +--ext                 -- extension DLLs for PHP
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-...
   |
   +--extras
   |  |
   |  +--mibs             -- support files for SNMP
   |  |
   |  +--openssl          -- support files for Openssl
   |  |
   |  +--pdf-related      -- support files for PDF
   |  |
   |  |-mime.magic
   |
   +--pear                -- initial copy of PEAR
   |
   |
   |-go-pear.bat          -- PEAR setup script
   |
   |-fdftk.dll
   |
   |-...
   |
   |-php-cgi.exe          -- CGI executable
   |
   |-php-win.exe          -- executes scripts without an opened command prompt
   |
   |-php.exe              -- CLI executable - ONLY for command line scripting
   |
   |-...
   |
   |-php.ini-dist         -- default php.ini settings
   |
   |-php.ini-recommended  -- recommended php.ini settings
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-...
   |
   |-php5ts.dll           -- core PHP DLL
   |
   |-...


아파치 환경설정을 마쳤으면, php.ini-development 파일을 php.ini 로 변경한 다음 편집기로 엽니다.

 ; extension_dir = "./" 를 찾아 extension_dir = "C:/php/ext/" 로 바꿔 줍니다.
 ; C:/php/ext/ php를 설치한 경로입니다.
 extension_dir = "C:/php/ext/"

 

 ; mysql과 연동하고자 한다면 다음 문장의 ; 주석을 제거합니다. 
 ;extension=php_mysql.dll
를 찾아 문장 앞 ; 를 제거해 줍니다.
 extension=php_mysql.dll

아파치 서버를 restart 시켜 환경 설정 파일을 적용 시킵니다.

MysQl 연동시 문제해결


다음은 mysql 과 연동시 문제되는 에러 처리방법입니다.

 C:\php 폴더 내에 있는 php5ts.dll 파일을 C:\Windows\system32 폴더로 복사해 둡니다.
 이전 파일인 php4ts.dll 이나 php5ts.dll, libmysql.dll, php_mysql.dll 파일 등 php 관련 파일이 로드되지 않도록
 파일을 일괄 삭제해 줄 필요가 있습니다.
 다음, C:\Windows\system32 폴더에 이미 존재한다면 깨끗이 삭제하고, 다시 php5ts.dll파일을 복사해 줍니다.

 C:\php 폴더에 libmysql.dll파일이 없다면 여기를 클릭, 다운받아 C:\php 폴더에 업로드해 줍니다.
 libmysql.dll 파일은 php_mysql.dll 파일을 로드하기 위해 필요한 부속(?)의 하나입니다.


다음은 [시작]->[제어판]->[시스템]->[고급탭]->[환경변수] 로 선택한 다음, [시스템 변수]의 "path"를 클릭하면 다음 그림이 나오게 됩니다. "변수 값" 끝에 ";C:\php"를 삽입하고 창을 닫아 주고, 설정값이 적용되도록 컴퓨터를 리부팅해 줍니다.


홈 디렉토리 파일을 열어 다음 php 코드를 작성해서 브라우저로 확인해 봅니다.

 # C:\Program Files\Apache Software Foundation\Apache2.2\htdocs
 <?php
 phpinfo();
 ?>

 



관련글:  2011/07/31 - 아파치 서버 구축하기
            2011/08/04 - 아파치 서버 httpd.conf
            2011/07/30 - Mysql 서버 구축하기
블로그 이미지

하보니

하보니와 함께하는 phP 초보

Tag

댓글을 달아 주세요

  • 초보자 2011.08.19 00:13  댓글주소  수정/삭제  댓글쓰기

    정말 좋은 내용 감사 드립니다.

    열심히 따라하고 있고 다 잘 되었는데

    마지막까지 다 한후에 아파치를 리스타트 시키면

    PHP Startup: Unable to load dynamic library 'c:/php/ext/php_mysql.dll' - 지정된 모듈을 찾을 수 없습니다

    라는 경고 메세지가 나오네요.

    php_mysql.dll 파일은 있습니다만....

  • Favicon of https://blog.habonyphp.com BlogIcon 하보니 2011.08.19 21:37 신고  댓글주소  수정/삭제  댓글쓰기

    지적 감사합니다. 내용을 업데이트했습니다.