PHP 5.2.5
둘러보기로 가기
검색하러 가기
PHP 프로그램에 대한 전반적인 사항을 정리한다.
PHP 파일의 실행 환경을 제공한다.
- 홈페이지 : http://www.php.net/
- 다운로드 : http://www.php.net/downloads.php
- 확장 라이브러리 : http://pear.php.net/packages.php
- 라이센스 : PHP License 3.01
- 플랫폼 : Window, Unix, Linux 등
설치 가이드
아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.
설치전 사전 준비 사항
PHP 설치
- http://www.php.net/downloads.php에서 "PHP 5.2.9-2 installer"(php-5.2.9-2-win32-installer.msi)를 다운로드 한다.
- 다운로드한 설치 프로그램(php-5.2.9-2-win32-installer.msi)을 실행한다.
- Windows Vista에서는 관리자 권한으로 실행하여야 하므로, c:/windows/system32/cmd.exe를 관리자 권한으로 실행한 후 여기서 설치 프로그램을 실행한다.
- PHP의 기본 정보를 읽고 "Next" 버튼을 눌러 설치를 시작한다.
- 라이센스를 읽고 "Next" 버튼을 눌러 다음을 진행한다.
- PHP를 설치할 디렉토리를 지정한다.
- "Apache 2.2.x Module"을 선택한다.
- 설치된 Apache HTTP Server의 설정 디렉토리(%APACHE_HOME%/conf)를 지정한다.
- 설치할 항목을 지정한다.
- "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(); ?>
PHP 한글 설정
- 참조 : 문자셋과 인코딩 - PHP
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] extension=php_gd2.dll
- Apache HTTP Server를 종료한 후 다시 기동한다.
- http://localhost/phpinfo.php를 실행하여 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를 종료한 후 다시 기동한다.
- http://localhost/phpinfo.php를 실행하여 GetText 설치를 확인한다.
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(); ?>
- 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] 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
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