- 설치 가이드
- 설치전 사전 준비 사항
- PHP 설치
- PHP 환경 설정
- PHP 한글 설정
- PHP 확장팩 설치
- GD Library 설치
- GetText 설치
- IMAP 설치
- Linux용 설치 가이드
- 설치전 사전 준비 사항
- PHP 설치
- CentOS용 설치 가이드
- PHP 한글 설정
- PHP 확장 모듈 설치
- PECL/PEAR을 사용한 모듈 설치
- 사용자 가이드
- 관리자 가이드
- MySQL 데이터 등록 오류
- PHP 설정 변경
- 개발자 가이드
- 참고 문헌
홈페이지 : http://www.php.net/
확장 라이브러리 : http://pear.php.net/packages.php
라이센스 : PHP License 3.01
플랫폼 : Window, Unix, Linux 등
[Apache HTTP Server 2.2.8 with OpenSSL 0.9.8g](Apache HTTP Server 2.2.8.md) 설치
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)를 지정한다.
설치할 항목을 지정한다.
향후 설정을 편하게 하기 위해서 "Extensions"을 전부 설치 하도록 선택 한다.
"Install" 버튼을 눌러 설치를 시작한다.
"Finish" 버튼을 눌러 설치를 종료한다.
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 프로그램에 대한 전반적인 사항을 정리한다.
PHP 파일의 실행 환경을 제공한다.
설치 가이드
아래 설치 가이드는 Windows Server 2003을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.
설치전 사전 준비 사항
PHP 설치
PHP 환경 설정
[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를 만들어 정상 설치되었는지 확인한다.
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를 종료한 후 다시 기동한다.
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](PHP_GETTEXT.md)
extension=php_gettext.dll
Apache HTTP Server를 종료한 후 다시 기동한다.
http://localhost/phpinfo.php를 실행하여 GetText 설치를 확인한다.
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
Document Root(/var/www)에 phpinfo.php를 만들어 정상 설치되었는지 확인한다.
설치 정보
설치 폴더 : /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 파일을 생성 한다.
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