본문 바로가기

HardWare & Install/Linux Setting

php 확장모듈 cURL 설치 방법

 테스트환경 : CentOS 5.x, PHP 5.2.5

빨강색 : 변경되지 않는 정보 (명령어, 형식 등)

파랑색 : 변경될 수 있는 정보 (경로, 파일명, 옵션 등)

녹색 : 주석정보

※ curl 확장모듈 설치 기준으로 작성 하였으며 대부분의 확장모듈은 아래와 같이 설치하셔도 문제가 없습니다.

    하지만, PHP에서 공식지원하지 않거나 버전이 맞지 않는 확장모듈이 있을 수 있습니다.

   

- 재컴파일 없이 설치방법 -

 

1. 확장모듈로 사용할 프로그램 라이브러리가 설치되어 있는지 확인하고 설치되어 있지 않다면 설치 합니다.
예)

yum install curl curl-devel

 

2. 설치한 PHP와 동일한 버전의 소스 다운로드 후 압축해제 합니다.
예)

tar xvfz php-5.2.5.tar.gz

 

3. 소스파일에서 설치할 확장모듈과 동일한 이름의 경로로 이동합니다.
예)

cd /root/pkg/php-5.2.5/ext/curl

 

4. phpize 파일을 실행합니다. (사용자마다 다를 수 있음)
예)

/usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519

 

5. configure 및 compile 합니다.

./configure --with-php-config=/usr/local/php/bin/php-config --enable-설치하려는확장모듈명
예)
./configure --with-php-config=/usr/local/php/bin/php-config --enable-curl
echo $?

(echo $? 명령어는 에러 유무를 확인하는 방법 입니다. 0이 아닌 다른 숫자가 나오면 에러가 발생한 것 입니다.)
make

echo $?

 

6. make 명령어를 실행후 ./modules/확장모듈명.so 파일이 생성됩니다. (확인)
확장모듈.so 파일을 php.ini 파일의 extension_dir=확장모듈 경로에 복사합니다.

예)

ll ./modules/

curl.la

curl.so

vi /usr/local/php/lib/php.ini

extension_dir = "./"

(extension_dir = "./" 로 되어 있을 경우로 가정 하겠습니다. module 디렉토리를 만들어 별도로 관리하는 것을 추천 합니다.)

mkdir /usr/local/php/module/

cp ./modules/curl.* /usr/local/php/module/

 
7. php.ini 파일을 열어 extension=확장모듈.so 파일을 추가 합니다.

예)

vi /usr/local/php/lib/php.ini

extension=curl.so

 

8. php -l /경로/php.ini 로 syntax checking

예)

/usr/local/php/bin/php -l /usr/local/php/lib/php.ini 

9. 아파치를 재시작 합니다.

예)
/usr/local/apache/bin/apachectl restart

 

10. php -m 명령어 또는 phpinfo 및 테스트파일(첨부파일)로 설치되었는지 확인 합니다.

예)
/usr/local/php/bin/php -m

  
- 컴파일 설치(APM 컴파일 할수 있는 분만) -

 

1. 확장모듈로 사용할 프로그램 라이브러리가 설치되어 있는지 확인하고 설치되어 있지 않다면 설치 합니다.
예)
yum install curl curl-devel

 

2. phpinfo의 Configure Command 정보 및 별도 module정보를 확인합니다.
예)

A. phpinfo 파일 생성하여 확인
 <?
 phpinfo();
 ?>

 

 B. php.ini 파일의 extension_dir= 경로에 module정보 확인

 

3. 설치한 PHP와 동일한 버전의 소스 다운로드 후 압축해제 합니다.
예)
tar xvfz php-5.2.5.tar.gz

 

4. configure 처리 합니다.
예)
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-apache-install=/usr/local/apache \
--with-config-file-path=/usr/local/php/lib \
--with-gdbm \
--with-gd \
--with-jpeg-dir=/usr/lib \
--with-mysql=/usr/local/mysql \
--with-iconv=/usr/local \
--with-zlib-dir=/usr/lib \
--with-freetype-dir=/usr/lib \
--with-curl \
--disable-debug \
--enable-module=so \
--enable-inline-optimization \
--enable-track-vars \
--enable-magic-quotes \
--enable-ftp \
--enable-exif \
--enable-xml \
--enable-mbstring=all \
--enable-mbstr-enc-trans \
--enable-mbregex

 

5. compile 및 install 처리 합니다.
예)
make -j4

( -j4 옵션을 사용하면 코어를 4개까지 사용하여 빠른처리가 가능합니다. 쿼드코어가 지원되야 합니다.)
make install

 

6. 아파치를 재시작 합니다.

예)
/usr/local/apache/bin/apachectl restart 

 

7. php -m 명령어 또는 phpinfo 및 테스트파일(첨부파일)로 설치되었는지 확인 합니다.

예)
/usr/local/php/bin/php -m


출처 : http://blog.naver.com/smilemoon602/90136187912