리눅스마스터1급 : PHP(PHP: Hypertext Preprocessor) 설치
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,831 조회
- 0 추천
- 목록
본문
리눅스마스터1급 : PHP(PHP: Hypertext Preprocessor) 설치
PHP(PHP: Hypertext Preprocessor - 하이퍼 텍스트 전처리기의 첫글자로 재귀적 약어이다)는 웹 개발에 적합하고 HTML에 삽입할 수 있는 범용 스크립팅 언어이다.
문법은 몇가지 PHP만의 독특한 특징을 가지며 C, JAVA, Perl에서 많은 부분을 차용하여 웹 개발자가 동적으로 생성되는 페이지를 빨리 개발할 수 있다.
Apache 웹서버에서 동적인 콘텐츠를 생성하기 위해 PHP를 연동설치 한다.
① PHP 압축 해제
다운로드 받은 소스코드는 압축된 상태로 배포되며 다음과 같이 압축을 해제 한다.
|
|
|
| [root@SULinux-64Bit src]# tar xvfp php-5.4.14.tar.bz2 php-5.4.14/ php-5.4.14/README.WIN32-BUILD-SYSTEM php-5.4.14/netware/ php-5.4.14/netware/sendmail_nw.h php-5.4.14/netware/start.c php-5.4.14/vcsclean php-5.4.14/README.GIT-RULES php-5.4.14/README.STREAMS php-5.4.14/missing php-5.4.14/README.PHP4-TO-PHP5-THIN-CHANGES php-5.4.14/ext/ php-5.4.14/ext/json/ php-5.4.14/ext/json/tests/ -------------- 생략 -------------- |
|
|
|
|
② 소스 디렉토리로 이동
|
|
|
| [root@SULinux-64Bit src]# cd php-5.4.14 |
|
|
|
|
③ 컴파일 설치를 하기 위한 설정(configure)
PHP 소스코드를 컴파일 설치하기 위해서 리눅스에 설치된 컴파일러, 라이브러리, 설치에 필요한 명령어등을 점검하고, 설정한 옵션에 따라 모듈 설치 여부 및 설치에 필요한 환경을 구성하는 부분이다.
|
|
|
| [root@SULinux-64Bit php-5.4.14]# ./configure --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-mysql=/usr/local/mysql \ --with-gd checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu -------------- 생략 -------------- |
|
|
|
|
여기서 사용한 configure의 옵션을 간단히 설명하면 다음과 같다.
--with-apxs2=/usr/local/apache/bin/apxs
공유된 APACHE 모듈을 함께 연동하기 위한 컴파일 옵션이다.
PHP와 APACHE를 연동하기위해 php모듈을 DSO방식으로 설정하기 위한 옵션이다.
만약 APACHE 버전이 아닌 APACHE 1.X 버전을 사용한다면 --with-apxs2대신 --with-apxs를 사용하면 된다.
그리고 APACHE 1.X버전을 정적으로 설치하였다면 --with-apache=/usr/local/ apache와 같이 APACHE가 설치된 절대경로까지 지정해주면 된다.
--with-mysql
설치한 MYSQL과 PHP를 연동하기 위한 옵션이다.
MYSQL이 설치된 위치를 지정하지 않는다면 기본적으로 인식하는 MYSQL의 위치는 /usr/local/mysql이다.
--with-gd
PHP에서 GD라이브러리관련 함수를 사용하여 GD를 지원하기 위한 옵션이다.
설치된 위치를 지정하려면 --with-gd=/usr/local 또는 --with-gd=/usr/local/gd등과 같이 지정하면 된다.
이외에도 PHP에는 configure옵션에서 사용할 수 있는 많은 옵션들이 있다.
이를 모두 확인해 보려면 “./configure --help”를 실행해 보면 된다.
만약 설치 과정에 빠진 라이브러리가 있다면, 설치 후에 추가 설치할 수 있다.
④ PHP 컴파일
컴파일을 하기위한 컴파일러, 라이브러리, 환경설정이 완료되었다면 다음과 같이 컴파일을 수행한다.
|
|
|
| [root@SULinux-64Bit php-5.4.14]# make -j 16 /bin/sh /usr/local/src/php-5.4.14/libtool --silent --preserve-dup-deps --mode=compile cc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.4.14/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.4.14/include -I/usr/local/src/php-5.4.14/main -I/usr/local/src/php-5.4.14 -I/usr/local/src/php-5.4.14/ext/date/lib -I/usr/local/src/php-5.4.14/ext/ereg/regex -I/usr/include/libxml2 -I/usr/local/mysql/include -I/usr/local/src/php-5.4.14/ext/sqlite3/libsqlite -I/usr/local/src/php-5.4.14/TSRM -I/usr/local/src/php-5.4.14/Zend -I/usr/include -g -O2 -fvisibility=hidden -c /usr/local/src/php-5.4.14/ext/date/php_date.c -o ext/date/php_date.lo /bin/sh /usr/local/src/php-5.4.14/libtool --silent --preserve-dup-deps --mode=compile cc -Iext/date/lib -Iext/date/ -I/usr/local/src/php-5.4.14/ext/date/ -DPHP_ATOM_INC -I/usr/local/src/php-5.4.14/include -I/usr/local/src/php-5.4.14/main -I/usr/local/src/php-5.4.14 -I/usr/local/src/php-5.4.14/ext/date/lib -I/usr/local/src/php-5.4.14/ext/ereg/regex -I/usr/include/libxml2 -I/usr/local/mysql/include -I/usr/local/src/php-5.4.14/ext/sqlite3/libsqlite -I/usr/local/src/php-5.4.14/TSRM -I/usr/local/src/php-5.4.14/Zend -I/usr/include -g -O2 -fvisibility=hidden -c /usr/local/src/php-5.4.14/ext/date/lib/astro.c -o ext/date/lib/astro.lo -------------- 생략 -------------- |
|
|
|
|
⑤ PHP 설치
컴파일이 완료된 PHP를 configure 과정에서 정의한 디렉토리에 설치해 주는 과정이다.
|
|
|
| [root@SULinux-64Bit php-5.4.14]# make install Installing PHP SAPI module: apache2handler /usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool' libphp5.la /usr/local/apache/modules /usr/local/apache/build/libtool --mode=install cp libphp5.la /usr/local/apache/modules/ cp .libs/libphp5.so /usr/local/apache/modules/libphp5.so cp .libs/libphp5.lai /usr/local/apache/modules/libphp5.la libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.4.14/libs' chmod 755 /usr/local/apache/modules/libphp5.so [activating module `php5' in /usr/local/apache/conf/httpd.conf] Installing PHP CLI binary: /usr/local/php/bin/ Installing PHP CLI man page: /usr/local/php/php/man/man1/ Installing PHP CGI binary: /usr/local/php/bin/ -------------- 생략 -------------- |
|
|
|
|
⑥ PHP 설치 확인
설치된 경로는 설정과정에서 정의한 “/usr/local/php"이며 다음과 같은 디렉토리가 생성된다.
|
|
|
| [root@SULinux-64Bit php]# tree -d -L 1 /usr/local/php/ /usr/local/php/ |-- bin |-- etc |-- include |-- lib `-- php |
|
|
|
|
⑦ PHP 설정 파일 복사
php에 설정시 옵션을 주지 않았다면, php 설정파일의 위치는 “/usr/local/lib"이며 설정파일은 소스코드 디렉토리에서 복사를 하여야 한다.
|
|
|
| cp /usr/local/src/php-5.4.14/php.ini-production /usr/local/php/lib/php.ini |
|
|
|
|
관련자료
-
이전
-
다음