본문 바로가기

OS/Linux

PHP 확장 모듈 컴파일 설치 도구 PHPIZE

오랜만입니다!

오늘은 php 확장 모듈을 컴파일하고 설치를 도와주는 phpize에 대해 알아보겠습니다.

1. phpize의 주요 기능

1-1) 환경 구성

phpize를 실행하면 configure 스크립트와 함께 필요한 모든 파일이 생성됩니다. 이 스크립트는 확장 모듈을 빌드하기 위한 환경을 설정하는데 사용됩니다.

1-2) 빌드 파일 생성

확장 모듈을 컴파일하고 설치하기 위해 Makefile을 생성합니다.

1-3) PHP 확장 컴파일 지원

make와 make install을 사용하여 확장 모듈을 컴파일하고 설치 가능합니다.

 

2024.03.28 - [OS/Linux] - Centos7 apache 2.4, apr설정, php 7.4.33, sqlsrv 설치 및 연동 (1)

 

Centos7 apache 2.4, apr설정, php 7.4.33, sqlsrv 설치 및 연동 (1)

들어가기 앞서... 일반적으로 바이너리 설치를 통해 소프트웨어를 설치할 때는 정해진 옵션을 사용하여 간단한 몇 가지 명령어로 설치할 수 있습니다. 반면, 소스 코드를 컴파일하여 소프트웨어

engineer1.tistory.com

해당 과정을 따라 php의 configure을 설정하였다면

# ll /usr/local/src/APM_Setup/php-8.2.4/ext

을 사용하여 확장모듈을 확인할 수 있습니다.

 

2. php 확장 모듈 설치

2-1) phpize 환경변수 지정

아래와 같이 phpize를 환경변수로 지정하여

# echo "PHP_HOME=/usr/local/php" >> /etc/profile
# echo "export PATH="\$"PHP_HOME/sbin"\$"{PATH:+:"\$"{PATH}}" >> /etc/profile
# source /etc/profile

 

phpize명령어를 바로 사용할 수 있습니다.

 

2-2) soap 확장 모듈 설치

소스 컴파일을 진행할 때 --enable -soap옵션을 사용하여 진행하였다면 이미 설치되어 있어 설정을 따로 할 필요 없습니다.

하지만 이런 방법을 하지 않고 설치를 다시 해야 할 때는

# cd /usr/local/src/APM_Setup/php-8.2.4/ext/soap

위치로 이동 후

 

# phpize

를 사용하여 configure에 필요한 파일을 생성합니다.

 

2-3) configure 구성 및 설치

이후

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

와 같이 configure을 구성한 뒤 

 

make와 make install을 사용하여 빌드와 설치를 진행합니다.

 

2-4) php.ini 설정

다음은 apache의 php.ini파일을 변경하여 설치된 모듈을 적용시키는 과정입니다.

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

에서

;extenstion=soap

와 같이 주석이 되어있는 부분을 찾은 뒤 주석을 없애고

\extension_dir의 경로를 지정하고 주석을 제거합니다.

 

apache를 재시작해주면

phpinfo 페이지를 통해 모듈의 적용 상태를 확인할 수 있습니다.

 

모듈 리스트로 확인

 

 

phpinfo로 확인

phpinfo

 

3. ext 디렉터리에 없는 모듈 설치

3-1) 링크에 접속하여 모듈을 검색합니다.

sqlsrv를 예를들어 설명하겠습니다.

sqlsrv 버전

해당 버전에 접속하여 지원가능한 php버전을 확인합니다.

 

3-2) 모듈 설치

# wget [링크]

를 사용하여 원하는 버전의 tgz파일을 다운로드 받습니다.

 

그 다음

# tar zxvf [모듈 이름]

을사용하여 압출을 푼 후 해당 디렉터리 내로 이동합니다.

이후는 2-2과정을 반복합니다.

 

만약 php.ini파일에 원하는 모듈이 없을 경우 마지막줄에

extension=[모듈명].so

을 추가하여 저장하면 됩니다.

 

이상으로 phpize를 활용하여 확장 모듈을 설치하고 적용하는법을 알아보았습니다.

 

감사합니다!