php pdo_cubrid 실행이 안됩니다.

by smilena posted Apr 27, 2021


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
linux centos 7
CUBRID Ver.
CUBRID 10.2 (10.2.2.8874-f681dd9) (64bit release build for Linux) (Sep  1 2020 09:41:17
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
php 7.4 (pdo 드라이버 컴파일 및 설치 오류) 


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

 

 

우여곡절끝에 cubrid_php-10.2 를 컴파일을 했는데요. (11버전을 하고 싶었지만, 컴파일 오류가 나서 포기했습니다. )

- 컴파일한 드라이버 버전은 cubrid-pdo-10.2.0.0001 입니다. 

( https://github.com/CUBRID/cubrid-pdo/releases/tag/v10.2.0.0001 )

 

컴파일 옵션

 

$ ./configure --with-pdo-cubrid=/opt/cubrid/CUBRID-10.2.2.8874-f681dd9-Linux.x86_64 --with-php-config=/opt/re
mi/php74/root/bin/php-config

 

 

- Centos 7 에서 devtoolset-9  버전을 설치한게 큰 도움이 되었습니다. (php 라이브러리 컴파일 매뉴얼에 gcc버전 관련 내용을 추가해주셨으면 합니다.) 

 

 

프로그램이 pdo 로 개발되어 있어서  pdo_cubrid 를 컴파일 하고 있습니다. 


어떻게 해서 컴파일은 했는데 다음과 같은 오류를 내면서 실행이 되지 않습니다. 

 

2021-04-27_012100.png

 

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_cubrid' (tried: /opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid (/opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid: cannot open shared object file: No such file or directory), /opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid.so (/opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid.so: undefined symbol: php_pdo_register_driver)) in Unknown on line 0
 

이에 대한 좋은 해답이 있으면 알려주세요. 

 

(추가)

 

MSSql에서의 다음과 같은 대응에 따라,

 

undefined symbol: php_pdo_register_driver in Unknown on line 0 #151
https://github.com/microsoft/msphpsql/issues/736

 

php.ini 에서의 항목을 삭제하고, php.d/ 에 20-cubrid.ini와 30-pdo_cubrid.ini 파일을 만들어서 대응했는데요. 

이번에는 다음과 같은 오류가 발생했습니다. 

 

2021-04-27_115418.png

 

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_cubrid' (tried: /opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid (/opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid: cannot open shared object file: No such file or directory), /opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid.so (/opt/remi/php74/root/usr/lib64/php/modules/pdo_cubrid.so: undefined symbol: add_assoc_unset)) in Unknown on line 0
 

(추가2)

 

아마도 php7은 지원하지 않는 모양이네요.. 매뉴얼대로.. 

소스는 아마도 7을 개발하고 있는것 같은데요. 

 

 


Articles

2 3 4 5 6 7 8 9 10 11