본문 바로가기
프로그램개발/Linux(Apache.vim)

기존 php가 컴파일된 상태에서 추가로 soap 설치 방법

by 크레도스 2014. 5. 16.

phpize라는 아주 멋진 놈이 있었는데 나는 여태 몰랐다..--;

이걸 이용하면 기존에 apm이 컴파일된 상태에서 마음껏 추가 모듈을 설치 할  수 있다~ 대단대단


출처:http://antamis.egloos.com/viewer/627374


1. 설치

 

cd /usr/local/src/php-5.2.9/ext/soap    // php 소스 폴더의 ext/soap 디렉토리로 이동 

# /usr/local/php/bin/phpize

# ./configure --enable-soap --with-php-config=/usr/local/php/bin/php-config

# make

# cp -arp modules/soap.so /usr/local/php/lib

 

2. 연동

php.ini 파일을 열어서 [soap] 항목에 아래와 같이 soap.so 파일을 추가해줍니다.

 

# vi /usr/local/apache/conf/php.ini

extension=/usr/local/php/lib/soap.so

 

그리고 아파치를 재시작 해주면 적용이 완료됩니다.

 

# /usr/local/apache/bin/apachectl restart

 

[작성] 차동훈 (http://system.neulwon.com)


내 작업서버에서 직접 설치해 보았다.

[root@silvertel soap]# /usr/local/php/bin/phpize

Configuring for:

PHP Api Version:         20041225

Zend Module Api No:      20060613

Zend Extension Api No:   220060519

[root@silvertel soap]# l

합계 1832

-rw-r--r-- 1 1002 1002     51  4월  8  2004 CREDITS

-rw-r--r-- 1 root root   5306  5월 16 11:28 Makefile.global

-rw-r--r-- 1 1002 1002   2978  8월  8  2005 TODO

-rw-r--r-- 1 1002 1002   1870  1월  6  2004 TODO.old

-rw-r--r-- 1 root root  75494  5월 16 11:28 acinclude.m4

-rw-r--r-- 1 root root 305818  5월 16 11:28 aclocal.m4

drwxr-xr-x 2 root root   4096  5월 16 11:28 autom4te.cache

drwxr-xr-x 2 root root   4096  5월 16 11:28 build

-rwxr-xr-x 1 root root  44892  5월 16 11:28 config.guess

-rw-r--r-- 1 root root   1580  5월 16 11:28 config.h.in

-rw-r--r-- 1 1002 1002    859  5월 30  2005 config.m4

-rwxr-xr-x 1 root root  33387  5월 16 11:28 config.sub

-rw-r--r-- 1 1002 1002    441  2월  9  2004 config.w32

-rwxr-xr-x 1 root root 434320  5월 16 11:28 configure

-rw-r--r-- 1 root root   4915  5월 16 11:28 configure.in

-rw-r--r-- 1 root root      0  5월 16 11:28 install-sh

drwxr-xr-x 2 1002 1002   4096  1월  7  2011 interop

-rw-r--r-- 1 root root 199728  5월 16 11:28 ltmain.sh

......
soap디렉토리 이동후에 phpize를 실행하면
위에처럼 config파일들이 추가로 생기네요.
그후에
[root@silvertel soap]# ./configure --enable-soap --with-php-config=/usr/local/php/bin/php-config
checking for egrep... grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
............
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
이상이 없으면 마지막에 config.status:creating config.h 문구가 보입니다.
그후 make를 실행하면
[root@silvertel soap]# make
/bin/sh /usr/local/src/APM_Setup/php-5.2.17/ext/soap/libtool --mode=compile cc  -I. -I/usr/local/src/APM_Setup/php-5.2.17/ext/soap -DPHP_ATOM_INC -I/usr/local/src/APM_Setup/php-5.2.17/ext/soap/include -I/usr/local/src/APM_Setup/php-5.2.17/ext/soap/main -I/usr/local/src/APM_Setup/php-5.2.17/ext/soap -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/usr/include/libxml2  -DHAVE_CONFIG_H  -g -O2   -c /usr/local/src/APM_Setup/php-5.2.17/ext/soap/soap.c -o soap.lo
mkdir .libs
...............
Build complete.
Don't forget to run 'make test'.
역시 이상이 없으면 마지막에 Build complete. 문구가 보입니다.
[root@silvertel soap]# cp -arp modules/soap.so /usr/local/php/lib/
`modules/soap.so' -> `/usr/local/php/lib/soap.so'
모둘 복사후 
[root@silvertel soap]# vi /usr/local/apache/conf/php.ini
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
extension=/usr/local/php/lib/soap.so
php.ini에 설정 추가후 
[root@silvertel soap]# /usr/local/apache/bin/httpd -k restart
아파치 데몬 재시작후 phpinfo로 확인해보니


않보이던 soap 항목이 짠 하고 보입니다~ 멋저멋저~~~