운영관리

CUBRID 2008 R2.0 RPM 설치후 PHP모듈 로딩에 실패할 경우

by Prototype posted Dec 10, 2009
CUBRID 2008 R2.0 을 RPM 으로 설치후 정상적으로 아파치를 세팅하고 CUBRID PHP 모듈을 설치하였음에도 불구하고 다음의 에러메시지를 출력하며 PHP모듈 로드에 실패하는 경우가 있다.

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/cubrid.so' - libcascci.so.8: cannot open shared object file: No such file or directory in Unknown on line 0

이는 CUBRID PHP모듈인 cubrid.so 가 호출하는 libcascci.so.8 파일을 찾지 못하여서 발생하는 문제로, 실제로 /opt/CUBRID/lib 에는 해당 파일이 존재하나, 리눅스 시스템의 특성상 환경 변수가 cubrid 유저에게만 세팅 되기 때문에, 아파치를 구동하는 유저의 환경 변수에는 해당 내용이 존재하지 않아서 발생하는 문제이다.

이를 해결 하기 위해서는 크게 세가지 방법이 존재한다.

1. 환경 변수 추가

아파치를 구동하는 유저의 환경 변수에 다음의 라인을 추가한다.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cubrid/lib
bash의 경우 export 를 앞에 붙이고, csh의 경우 setenv 를 앞에 붙이면 된다.
그 후 재부팅 또는 로그인을 다시 한다.

2. 심볼릭 링크를 생성

다음의 명령어를 사용하여 libcascci.so 를 리눅스 시스템 라이브러리 디렉토리에 심볼릭 링크를 생성하여 준다.
 ln -s /opt/cubrid/lib/libcascci.so /usr/lib64/libcascci.so.8
주의하여야 할 점은 root 권한으로 수행 하여야 한다는 것이다.
재부팅이나 로그인을 다시 할 필요는 없다.

3. 리눅스 시스템 파일 수정

루트 권한으로 /etc/ld.so.conf 파일을 수정한다.
vi 명령어 등으로 ld.so.conf 파일을 연 후, 마지막 라인에 /opt/cubrid/lib 를 추가한다.
그후, ldconfig 명령어를 수행하면 ld.so.cache 파일을 다시 생성하게 된다.
모든 작업이 끝나면 재부팅이나 로그인을 다시 할 필요는 없다.



Articles

5 6 7 8 9 10 11 12 13 14