System/CentOS | Ubuntu

[CentOS 6] PHP 모듈 추가(재컴파일 없이 - phpize)

jykim23 2019. 7. 10. 17:58

php에 기본 확장 모듈을 사용하는 경우입니다.

 

간단 설명

 설치된 php의 같은 버전을 다운로드하여 사용합니다.

[php디렉터리]/ext/ -> 기본 확장 모듈이 있습니다. 여기 있는 기본 확장 모듈을 사용하여 '모듈. so'파일을 생성합니다. 생성된 so파일을 php.ini에 등록하여 모듈을 추가하는 방법입니다.

 

많은 기본 확장 모듈이 있습니다. 없는 모듈도 있습니다.

 

 

 

 

특정한 버전의 모듈 혹은 기본 확장 모듈에 없는 모듈을 사용하고 싶으면 재컴파일해야합니다.

링크

 

 

 

순서

1. phpize -> configure 생성

2. 컴파일

3. 모듈 파일 이동

4. php.ini 모듈 등록

5. 아파치 재시작

 

 

 

 

 

1. phpize -> configure 생성

 

phpize 스크립트를 실행하여 configure 스크립트를 생성하는 단계입니다.

phpize 스크립트 위치가 다를 수 있으므로 "find / -name phpize" 명령으로 해당 파일을 찾습니다.

 

 

 

다운로드한 같은 버전의 php/ext/설치할 모듈 이동합니다.

# cd /home/src/php-버전/ext/모듈

해당 모듈 디렉토리로 이동합니다.

 

# /usr/local/bin/phpize

phpize를 실행합니다.

 

config.m4 파일을 찾을 수 없다?

 

현제 디렉터리를 조회합니다.

# ls

config0.m4로 숨겨져있네요.

 

config0.m4를 config.m4로 이름을 변경(복사)합니다.

# cp config0.m4 config.m4

복사합니다.

 

다시 phpize 스크립트를 실행합니다.

# /usr/local/bin/phpize

 

정상작동된 모습입니다.

 

 

 

새로운 파일들이 생성되었습니다.

중요한 건 configure 스크립트입니다.

# ls

configure 생성되면 성공입니다

 

 

2. 컴파일

 

모듈. so 파일을 생성하는 단계입니다.

 

 

 

configure 스크립트에 사용될 php-config 파일을 찾습니다. 

# find / -name php-config

bin/ 에 있는 파일입니다.

 

configure 스크립트를 실행합니다.

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

php-config 옵션을 추가합니다.

 

모듈마다 필요한 패키지가 있습니다. 잘 참고하셔야 합니다.

 

 

config.statusconfig.h 파일이 생성되면 성공입니다.

okey 계획대로 되고있어(?)

 

컴파일하여. so 파일을 생성합니다.

# make

 

 

 

 

 

3. 모듈 파일 이동

컴파일로 생성된 modules/모듈. so 파일을 php/modules/ 로 이동(복사)합니다.

 

# cp modules/모듈.so /usr/local/php/modules/

-avr은 옵션

 

 

 

4. php.ini 모듈 등록

php.ini 에 모듈.so 파일을 등록합니다.

 

# vi /home/httpd/conf/php.ini

extension=/usr/local/php/modules/모듈. so

 

 

5. 아파치 재시작

아파치 재시작하여 모듈 추가를 마무리합니다.

 

# /home/httpd/bin/apachectl stop

# /home/httpd/bin/apachectl start

아파치 재시작

 

 

phpinfo로 등록된 모듈을 확인합니다.

성공!