상단

    PHP 프로그램에 대한 전반적인 사항을 정리한다.
     
    PHP 파일의 실행 환경을 제공한다.

     

    설치 가이드


     

    아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요. 

     

    설치전 사전 준비 사항

    • [Apache HTTP Server 2.2.8 with OpenSSL 0.9.8g](Apache HTTP Server 2.2.8.md) 설치

     

    PHP 설치

     

    • 다운로드한 설치 프로그램(php-5.2.9-2-win32-installer.msi)을 실행한다.

      • '''Windows Vista에서는 관리자 권한으로 실행하여야 하므로, c:/windows/system32/cmd.exe를 관리자 권한으로 실행한 후 여기서 설치 프로그램을 실행한다.'''

     

    • PHP의 기본 정보를 읽고 "Next" 버튼을 눌러 설치를 시작한다.
      설치 시작


    • 라이센스를 읽고 "Next" 버튼을 눌러 다음을 진행한다.
      라이센스 확인


    • PHP를 설치할 디렉토리를 지정한다.
      디렉토리 지정


    • "Apache 2.2.x Module"을 선택한다.
      Web Server 지정


    • 설치된 Apache HTTP Server의 설정 디렉토리(%APACHE_HOME%/conf)를 지정한다.
      Apache의 설정 디렉토리


    • 설치할 항목을 지정한다.

    • 향후 설정을 편하게 하기 위해서 "Extensions"을 전부 설치 하도록 선택 한다.
      설치 항목 지정


    • "Install" 버튼을 눌러 설치를 시작한다.
      설치 시작


    • "Finish" 버튼을 눌러 설치를 종료한다.
      설치 종료


    PHP 환경 설정

    • PHP Extensions 설치 항목 조정

      • 설치시 Extensions 설치를 편하게 하기 위해 모든 Extension을 설치 하였다. %PHP_HOME%/php.ini 파일에서 필요한 Extenstion만 설치 되도록 조정 한다.

      • "[PHP_"로 시작하는 Section을 ";"를 사용하여 모두 주석 처리 하여 모든 Extenstion을 사용하지 않도록 한다.

      • 아래 항목만 주석을 해제하여 Extension이 사용 되도록 한다.

        • Extensions에서 MySql과 MySqli를 선택하여 MySQL과 연동할 수 있도록 한다.

        • Extensions에서 GD Library(GD2)를 선택하여 설치한다.

        • Extensions에서 gettext를 선택하여 설치한다.

        • Extensions에서 imap을 선택하여 설치한다.

        • Extensions에서 한글 설정을 위해 mbstring을 선택하여 설치 한다.

     
     [PHP_GD2](PHP_GD2.md)
     extension=php_gd2.dll
     [PHP_GETTEXT](PHP_GETTEXT.md)
     extension=php_gettext.dll
     [PHP_IMAP](PHP_IMAP.md)
     extension=php_imap.dll
     [PHP_MBSTRING](PHP_MBSTRING.md)
     extension=php_mbstring.dll
     [PHP_MYSQL](PHP_MYSQL.md)
     extension=php_mysql.dll
     [PHP_MYSQLI](PHP_MYSQLI.md)
     extension=php_mysqli.dll

    • %PHP_HOME% 디렉토리에 있는 libmysql.dll 파일을 c:/WINDOWS/system32에 복사한다.

    • PHP 5.3에서는 libmysql.dll이 없으므로 이 작업은 생략 한다.

     

    • 레지스터리 정보를 수정하기 위해 다음과 같이 php525_init.reg 파일을 만들어 실행한다.

    • regedit 명령을 사용하여 직접 수정할 수도 있다.

     
     Windows Registry Editor Version 5.00 
     
     [HKEY_LOCAL_MACHINE\SOFTWARE\PHP](HKEY_LOCAL_MACHINE\SOFTWARE\PHP.md) 
     "IniFilePath"="d:\\OpenBiz\\31_application\\php525" 

    • %PHP_HOME%/php.ini 파일의 설정 정보를 수정한다.

    • PHP의 원활한 동작을 위해 "d:/OpenBiz/91_workspace/php525/upload" 디렉토리와 "d:/OpenBiz/91_workspace/php525/session" 디렉토리를 생성한다.

     
     date.timezone = Asia/Seoul
     upload_tmp_dir="d:/OpenBiz/91_workspace/php525/upload"
     session.save_path="d:/OpenBiz/91_workspace/php525/session"

    • $APACHE_HOME%/conf/httpd.conf 파일을 수정하여 php를 연동한다. (index.php 추가)

     
     DirectoryIndex index.html index.jsp index.php

    • Document Root(%APACHE_HOME%/htdocs)에 phpinfo.php를 만들어 정상 설치되었는지 확인한다.

    • phpinfo.php

     
     

    설치 확인 
    MySQL 정보가 표시되는지 확인한다. Vista 또는 Windows 7에서 화면이 뜨지 않으면, 설치시 관리자 권한으로 설치 하였는지 확인 한다.

     

    PHP 한글 설정

    • 참조 : [문자셋과 인코딩 - PHP](문자셋과 인코딩.md#PHP.md)

     
     

    PHP 확장팩 설치

    GD Library 설치

     
    • http://www.php.net/downloads.php에서 PHP 5.2.5 zip package를 선택하여 "php-5.2.5-Win32.zip"를 다운로드 한다.

      • 다운로드 받은 "php-5.2.5-Win32.zip" 파일의 압축을 푼다.

      • 압축 푼 디렉토리에서 ext/php_gd2.dll 파일을 %PHP_HOME%/ext로 복사한다.

     

    • %PHP_HOME%/php.ini의 맨 아래에 다음을 추가한다.

     
     [PHP_GD2](PHP_GD2.md)
     extension=php_gd2.dll

    • Apache HTTP Server를 종료한 후 다시 기동한다.

     


    GetText 설치

    • 설치시 다운로드 받은 "php-5.2.5-Win32.zip" 파일의 압축을 푼다.

    • *압축 푼 디렉토리에서 ext/php_gettext.dll 파일을 %PHP_HOME%/ext로 복사한다.

     

    • %PHP_HOME%/php.ini의 맨 아래에 다음을 추가한다.

     
     [PHP_GETTEXT](PHP_GETTEXT.md)
     extension=php_gettext.dll

    • Apache HTTP Server를 종료한 후 다시 기동한다.

     

     

    IMAP 설치

    • 위 설치 방법과 동일하게 설치한다. 단 php.ini에는 다음 정보를 추가한다.

     
     [PHP_IMAP](PHP_IMAP.md)
     extension=php_imap.dll
     

    Linux용 설치 가이드


    Ubuntu Server에서 PHP를 정리한다.

    설치전 사전 준비 사항

    • [Apache Http Server](Apache_HTTP_Server_2.2.8.md#Linux용 설치 가이드.md) 설치

     
     

    PHP 설치

    • PHP 5.2.6 설치

     
     apt-get install php5
     apt-get install php5-gd php5-imap
     apt-get install php5-mhash
     
     #--- apache 연동 모듈 설치
     apt-get install libapache2-mod-php5
     #--- MySQL 연동 모듈 설치
     apt-get install php5-mysql
     #--- PostgreSQL 연동 모듈 설치
     apt-get install php5-pgsql
     
    • 기본 환경 및 언어(UTF-8) 설정

     
     vi /etc/php5/apache2/php.ini
         date.timezone = Asia/Seoul
         ### upload_tmp_dir    = "/var/lib/php/upload"
         ### session.save_path = "/var/lib/php/session"
         [PHP](PHP.md)
         default_charset = "UTF-8"
         magic_quotes_gpc = Off
         output_buffering = 4096
     /etc/init.d/apache2 restart
     
     
     
     
    • 설치 정보

      • 설치 폴더 : /usr/share/php5/

      • 환경 폴더 : /etc/php5/
        :vi /etc/php5/apache2/php.ini

     

    CentOS용 설치 가이드


    • PHP 현황 확인

     
     yum list | grep php                 #--- 설치 가능한 package 확인
     yum list installed | grep php       #--- 설치된 package 확인
     
    • CentOS에서 PHP를 설치 한다.

      • 2009년 10월 현재 PHP 5.1.6 버전이 설치 된다.

      • CentOS 5.5에서 PHP 5.1.6 버전이 설치 된다.

     
     yum -y install php php-devel
     
     
     rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy
     cd /etc/yum.repos.d/
     wget http://repo.webtatic.com/yum/webtatic.repo
     yum --enablerepo=webtatic install php
     
    • PHP Extensions을 설치 한다.

      • PHP Extensions의 설정 파일은 /etc/php.d/ 폴더에 ~.ini 형태로 저장 된다.

     
     yum -y install php-gd
     yum -y install php-imap
     yum -y install php-mbstring
     yum -y install php-mysql
     yum -y install php-mhash
     yum -y install php-pear
     
    • vi /etc/php.ini 파일의 설정 정보를 수정한다.

      • PHP의 원활한 동작을 위해 "/var/lib/php/upload" 디렉토리와 "/var/lib/php/session" 디렉토리를 생성한다.

     
     date.timezone = Asia/Seoul
     upload_tmp_dir    = "/var/lib/php/upload"
     session.save_path = "/var/lib/php/session"
     
    • PHP 설치 확인

      • /var/www/html/phpinfo.php 파일을 생성 한다.

     
     
    • http://localhost/phpinfo.php로 접속하여 화면이 정상적으로 뜨는지 확인 한다.

    • 설치 정보

      • 설치 폴더 : /usr/lib/php/

      • 실행 파일 : /usr/bin/

      • 환경 파일 : /etc/php.ini, /etc/httpd/conf.d/php.conf, /etc/php.d/

     
     

    • CentOS Test Package Repository를 사용하여 PHP 업그레이드

      • vi /etc/yum.repos.d/CentOS-Testing.repo

     
     [c5-testing](c5-testing.md)
     name=CentOS-5 Testing
     baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
     enabled=1
     gpgcheck=1
     gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
     includepkgs=php*
    • yum을 사용하여 Test Package Repository에 있는 패키지를 설치 할 수 있음

    • showinfo_php.bash

     
     #!/bin/bash
     echo 'PHP 버전       : PHP 5.2.10'
     echo 'PHP 문자셋     : UTF-8'
     echo '설치 폴더      : /usr/lib/php/'
     echo '환경 파일      : vi /etc/php.ini'
     echo '환경 파일/폴더 : /etc/httpd/conf.d/php.conf, /etc/php.d/'
     

    PHP 한글 설정

    • 참조 : [문자셋과 인코딩 - PHP](문자셋과 인코딩.md#PHP.md)

     
     

    PHP 확장 모듈 설치

     cd /usr/local/src/php-5.2.14/ext/zip
     /usr/local/php/bin/phpize
     ./configure --with-php-config=/usr/local/php/bin/php-config --enable-zip
     make
     cp /usr/local/src/php-5.2.14/ext/zip/modules/zip.so /usr/local/php/lib/
     
     vi /usr/local/lib/php.ini
        extension_dir = "/usr/local/php/lib/"
        extension=zip.so
     
    • SULinux에서 php-imap 모듈 설치

     
     cd /usr/local/src/php-5.3.3/ext/imap
     /usr/local/php/bin/phpize
     yum install uw-imap-devel
     //--- yum install libc-client-devel : CentOS에서
     ./configure --with-php-config=/usr/local/php/bin/php-config --with-kerberos --enable-imap --with-imap-ssl
     make
     cp /usr/local/src/php-5.3.3/ext/imap/modules/* /usr/local/php/lib/
     
     vi /usr/local/lib/php.ini
     	extension_dir = "/usr/local/php/lib/"
     	extension=imap.so
     

    PECL/PEAR을 사용한 모듈 설치

    • PECL

     
     // pecl channel-update pecl.php.net
     pecl                               //--- 도움말
     pecl install imagicmagic
     pecl list                          //--- 설치된 모듈 표시
     
    • PEAR

     
     // pear channel-update pear.php.net
     pear upgrade-all                   //--- 설치된 모듈 upgrade
     pear list
     

    사용자 가이드


     

    관리자 가이드


    MySQL 데이터 등록 오류

    • PHP 버전 4.x와 달리 PHP 버전 5.x에서는 숫자 항목에 빈문자열을 등록할 때 오류가 발생한다. 따라서, 숫자 항목에는 반드시 숫자를 등록하여야 한다.

      • MySQL의 $MYSQL_HOME/my.ini 설정 파일의 sql-mode에서 NO_AUTO_CREATE_USER 항목을 제거하면, PHP 프로그램을 수정하지 않더라도 오류가 발생하지 않는다.

     
     

    PHP 설정 변경

    • 전체 설정 변경

      • vi /etc/php.ini

     
     session.save_path = "/var/lib/php/session"
     session.gc_maxlifetime = 1440
     
    • 폴더별 설정 변경

      • vi /etc/httpd/conf/httpd.conf

     
     
         Options FollowSymLinks
         AllowOverride All
     
    • vi .htaccess

     
     php_value session.save_path "/var/lib/php/sessionDaou"
     php_value session.gc_maxlifetime 3600
     

    개발자 가이드


     
     

    참고 문헌


     
     

    분류: 오픈소스 
    PHP 
    Cloud

    최종 수정일: 2024-09-30 12:26:18

    이전글 :
    다음글 :