RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
64bit OS에는 이상하게도 PHP5에 oracle client가 oci8로 도무지 붙지를 않았다.

버전의 문제인가 싶어 다른 버전으로 시도해봤지만 역시나 붙지 않는다.
자꾸 libclntsh.so파일을 찾을 수 없다고 나온다. 분명 파일도 정상적으로 링크가 되어있고
LD_LIBRARY_PATH역시 정상적으로 잡아주었는데..

결국 64bit OS의 특성인 듯하여 oracle instant Client로 대처하기로 했다.

[DOWN]
http://www.oracle.com/technology/tech/oci/instantclient/index.html

위의 URL로가서 oracle instant client를 받는다. 최신 버전은 11g이다.
난 당연히 64bit OS이기 때문에 64bit 버전을 받는다. linux의 경우에는 2개의 파일을 받자.
개인적으로 rpm 패키지 보다는 소스를 좋아하기에 소스 버전으로 받았다.

basic.zip (44,800,163 bytes) (cksum - 2302121184)
sdk.zip (607,175 bytes) (cksum - 3112907190)

두 개의 파일을 받아 압축을 풀면 /instantclient_11_1 안에 두개의 파일이 들어간다.
instantclient_11_1안에는 basic.zip의 파일내용이 nstantclient_11_1/sdk에는 sdk.zip 파일이 풀린다. 그리고 링크를 하나 걸어주어야 한다.

# ln -s libclntsh.so.11.1 libclntsh.so

oracle instant client설치는 이것으로 끝이다.
참고로 말하자면 저 디렉토리 이름을 바꾸고 LD_LIBRARY_PATH를 다 잡아주고 했는데도 PHP 컴파일시 버전을 찾지 못하는 요상한 현상이 벌어진다.(이것으로 한 3시간은 잡아 먹은듯..) 왜인지는 조금 더 두고 봐야할듯하다.

이제 php5에 올려보자.
php configure 옵션에 --with-oci8=instantclient,/data/instantclient_11_1 --enable-sigchild
를 추가한다. 주의 할 것은 php 버전에따라 instant client 설치법이 조금씩 다르다.
확인을 하려면 ./configure --help | grep oci 로 확인을 해봐야할 것이다.
PHP5 버전에서는 위와 같은 방법으로 하면 된다. /data/instantclient_11_1는 위에서 압축을 푼 디렉토리를 적어주어야 함을 명심하자.

이제 컴파일하면 별 문제없이 make, make install이 될것이다.

아 물론, network/admin/ 이란 디렉토리를 만들어서 tnsnames.ora 파일을 생성해줘야 하는 것도 잊지말자.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31