OCI8 모듈을 설치하기 위해 ./configure 명령을 실행하는 과정에서 필요한 환경 변수를 설정하고, Oracle Instant Client 라이브러리와 헤더 파일의 경로를 올바르게 지정해보겠습니다.
1. 환경 변수 설정
먼저, 필요한 환경 변수를 설정합니다:
export PHP_DTRACE=yes
export ORACLE_HOME=/usr/lib/oracle/19.24/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/19.24/client64/lib
export C_INCLUDE_PATH=/usr/include/oracle/19.24/client64
export PATH=$PATH:/usr/lib/oracle/19.24/client64/bin
2. systemtap-sdt-devel 패키지 설치 확인
아직 설치하지 않았다면 다음 명령을 실행하여 systemtap-sdt-devel 패키지를 설치합니다:
# Basic 및 SDK RPM 파일 설치
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
sudo dnf install -y ./oracle-instantclient19.24-basic-19.24.0.0.0-1.x86_64.rpm
sudo dnf install -y ./oracle-instantclient19.24-devel-19.24.0.0.0-1.x86_64.rpm
sudo dnf install -y systemtap-sdt-devel
3. PECL 소스를 다운로드하고 압축 해제
OCI8 모듈 소스를 다운로드하고 압축을 풉니다:
sudo pecl download oci8-2.2.0
tar -xvf oci8-2.2.0.tgz
cd oci8-2.2.0
4. phpize 실행
빌드 환경을 설정하기 위해 phpize를 실행합니다:
phpize
5. ./configure 명령 실행
./configure 스크립트를 실행하여 Oracle Instant Client의 경로를 지정합니다:
./configure --with-oci8=instantclient,/usr/lib/oracle/19.24/client64/lib
6. 빌드 및 설치
모듈을 빌드하고 설치합니다:
make
sudo make install
7. PHP 설정 파일에 OCI8 모듈 추가
OCI8 모듈을 로드할 수 있도록 PHP 설정 파일을 수정합니다:
echo "extension=oci8.so" | sudo tee /etc/php.d/20-oci8.ini
8. 라이브러리 경로 설정
라이브러리 경로를 설정합니다:
sudo sh -c "echo /usr/lib/oracle/19.24/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
9. Apache 재시작
설정을 적용하기 위해 Apache를 재시작합니다:
sudo systemctl restart httpd
10. 확인
PHP가 OCI8 모듈을 제대로 로드하는지 확인합니다:
Apache 루트 디렉토리에 info.php 파일을 생성합니다:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
info.php를 열어 PHP 정보 페이지를 확인합니다. 여기서 OCI8 섹션을 찾아 모듈이 제대로 로드되었는지 확인합니다.
댓글