* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
linux centos 7 |
|
CUBRID 10.2 (10.2.2.8874-f681dd9) (64bit release build for Linux) (Sep 1 2020 09:41:17 |
|
[도움말]-[버전정보] 확인 |
|
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 를 컴파일 하고 있습니다.
어떻게 해서 컴파일은 했는데 다음과 같은 오류를 내면서 실행이 되지 않습니다.
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 파일을 만들어서 대응했는데요.
이번에는 다음과 같은 오류가 발생했습니다.
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을 개발하고 있는것 같은데요.