강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : PHP(PHP: Hypertext Preprocessor) 설치

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터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 모듈을 함께 연동하기 위한 컴파일 옵션이다.

 

 

 

PHPAPACHE를 연동하기위해 php모듈을 DSO방식으로 설정하기 위한 옵션이다.

 

 

 

만약 APACHE 버전이 아닌 APACHE 1.X 버전을 사용한다면 --with-apxs2대신 --with-apxs를 사용하면 된다.

 

 

 

그리고 APACHE 1.X버전을 정적으로 설치하였다면 --with-apache=/usr/local/ apache와 같이 APACHE가 설치된 절대경로까지 지정해주면 된다.

 

 

 

 

--with-mysql

설치한 MYSQLPHP를 연동하기 위한 옵션이다.

 

 

 

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 설치

 

 

컴파일이 완료된 PHPconfigure 과정에서 정의한 디렉토리에 설치해 주는 과정이다.

 

 

 

 

 

 

 

 

[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

 

 

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,854 개
  • 현재 접속자 :  126 명