[설치] 오라클 Instant Client와 php 설치
일반적인 테스트 환경이 아닌 경우 오라클 DB를 이용하는 경우 한머신에 오라클과 웹서버를 같이 운영하는 경우는 거의 없습니다. 주로 DB서버 따로 웹서버 따로죠.
(물론 오라클과 PHP를 연동해서 서비스하는 대규모 사이트도 찾기 힘든건 사실입니다만.. )
이 경우 웹서버가 추가되거나 할때 오라클 클라이언트를 설치하는 방법이 꽤 까다롭고 번거로웠습니다.
오라클 클라이언트를 별도의 컴파일이나 셋업없이 간단하게 설치하는 방법이 있어 알려드립니다. (기존에 APM환경이 DSO형태로 이미 되어있다는 가정하에 설명드리겠습니다.)
우선 아래의 주소에서 자신의 서버에 맞는 파일을 다운 받습니다.
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
저는
instantclient-basic-linux32-10.2.0.1-20050713.zip
instantclient-sdk-linux32-10.2.0.1-20050713.zip
두개의 파일을 다운받아 각각
/usr/lib/oracle
/usr/lib/oralce/sdk
의 디렉토리로 압축을 풀었습니다.
두 개의 파일이 다 필요합니다. sdk 파일이 없으면 php 컴파일이 되질 않습니다.
php 컴파일시 libclntsh.so 파일이 없다는 에러를 막기위해 해당디렉토리로 이동한 후
심볼릭 링크를 걸어줍니다.
# cd /usr/lib/oracle
# ln -s libclntsh.so.10.1 libclntsh.so
오라클 환경변수를 셋팅해줍니다.
# vi /etc/profile
export NLS_LANG=.KO16KSC5601 <= 이 부분을 오라클의 NLS_LANG 값에 맞게 추가합니다.
:wq
# source /etc/profile
php 를 재컴파일합니다. php를 컴파일 하실때
–with-oci8-instant-client 옵션을 추가시키는 것외에 특별히 달라지는 부분은 없습니다.
# ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql \\
–with-apxs2=/usr/local/apache/bin/apxs \\
–with-config-file-path=/usr/local/apache/conf \\
–with-oci8-instant-client=/usr/lib/oracle \\
–enable-sigchild
… (기타 생략)
#make; make install
설치가 끝나고 난뒤 php.ini에서
;extension=php_oci8.dll
앞의 주석을 제거하시고 난뒤 아파치를 재시작 하시면 오라클에 접속되는 것을 확인할 수 있을겁니다.