본문 바로가기
카테고리 없음

Rocky linux 8.1 + php 7.4.33 에 oci8 모듈 설치

by 씨엔아이소프트 2024. 8. 5.
반응형

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 섹션을 찾아 모듈이 제대로 로드되었는지 확인합니다.

반응형

댓글