PHP에서 CUBRID 모듈이 로드 되지 않습니다.

by 유리심장 posted Apr 03, 2011

웹서버랑 db서버를 따로 구축하려고 합니다.

그래서 웹서버쪽에 apache, php만 깔고 php모듈만 연동해서 사용하려고 합니다.

 

< 웹서버 >

Apache 2.2.17

php 5.3.6

기본적인 메뉴얼대로 설치했을시에 PHP 모듈이 로드되지 않았습니다.

 

그래서 apache log를 확인해 봤습니다. 그랬더니 아래와 같은 log을 발견했습니다.

 

 PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/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 유저에게만 세팅 되기 때문에, 아파치를 구동하는 유저의 환경 변수에는 해당 내용이 존재하지 않아서 발생하는 문제이다. 라고 되어있는 글을 발견했습니다.

 

링크 : http://www.cubrid.com/zbxe/57855

 

그래서 링크에 나와있는 3가지 방법을 각각 모두 사용해보고 모듈이 올라왔는지 확인해보니 여전히 PHP모듈이 올라오지 않았습니다.

 

apache log에는 아래와 같은 log가 남아있었습니다.

 

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/cubrid.so' - /usr/lib/php/modules/cubrid.so: undefined symbol: executor_globals in Unknown on line 0

위와같은 상황일떄 ./configure 옵션에 --enable-versioning 를 썼을 경우 --enable-versioning 를 제거 후 다시 컴파일 하라고 되어있는데

애초에 --enable-versioning 를 써서 컴파일 한적이 없어서 해당하지 않는내용이었습니다.

현재 php.ini에는 아래와 같이 내용을 추가 하였고

 

extension_dir = /usr/lib/php/modules

extension = cubrid.so

 

해당 폴더에 cubrid.so 넣어놨구. libcascci.so 파일 libcascci.so.8 파일 libcascci.so.a 파일을 가져다놓고 각각 LD_LIBRARY_PATH 에 설정해보고 재시작 해봤지만 해결되지 않았습니다.

 

현재 상황에서 모듈을 올리기 위한 방법은 어떤게 있겠습니까?

 


Articles

13 14 15 16 17 18 19 20 21 22