PHP 5.2.5

오픈소스 비즈니스 컨설팅

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


목차

설치 가이드

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

설치전 사전 준비 사항


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]
extension=php_gd2.dll
[PHP_GETTEXT]
extension=php_gettext.dll
[PHP_IMAP]
extension=php_imap.dll
[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
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] 
"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를 만들어 정상 설치되었는지 확인한다.

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


PHP 한글 설정

PHP 확장팩 설치

GD Library 설치

  • 다운로드 받은 "php-5.2.5-Win32.zip" 파일의 압축을 푼다.
  • 압축 푼 디렉토리에서 ext/php_gd2.dll 파일을 %PHP_HOME%/ext로 복사한다.


  • %PHP_HOME%/php.ini의 맨 아래에 다음을 추가한다.
[PHP_GD2]
extension=php_gd2.dll


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


GD Library 설치 확인

GetText 설치

  • 설치시 다운로드 받은 "php-5.2.5-Win32.zip" 파일의 압축을 푼다.
    • 압축 푼 디렉토리에서 ext/php_gettext.dll 파일을 %PHP_HOME%/ext로 복사한다.


  • %PHP_HOME%/php.ini의 맨 아래에 다음을 추가한다.
[PHP_GETTEXT]
extension=php_gettext.dll


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



IMAP 설치

  • 위 설치 방법과 동일하게 설치한다. 단 php.ini에는 다음 정보를 추가한다.
[PHP_IMAP]
extension=php_imap.dll

Linux용 설치 가이드

Ubuntu Server에서 PHP를 정리한다.

설치전 사전 준비 사항

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]
    default_charset = "UTF-8"
    magic_quotes_gpc = Off
    output_buffering = 4096
/etc/init.d/apache2 restart
  • Document Root(/var/www)에 phpinfo.php를 만들어 정상 설치되었는지 확인한다.
<?php phpinfo(); ?>
  • 설치 정보
  • 설치 폴더 : /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
  • CentOS에서 PHP 5.3.을 설치 하기 위해서는 다음과 같이 한다.
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 파일을 생성 한다.
<?php phpinfo(); ?>
  • 설치 정보
  • 설치 폴더 : /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]
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 확장 모듈 설치

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
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
  • vi .htaccess
php_value session.save_path "/var/lib/php/sessionDaou"
php_value session.gc_maxlifetime 3600

개발자 가이드

참고 문헌

개인 도구