개발 Q&A

제목 Error: CCI, -20016, Cannot connect to CUBRID CAS 에러 문의
카테고리 DB
글쓴이 어흥dev 작성시각 2022/04/19 11:04:25
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 5595   RSS

안녕하세요 java 개발자인데 프로젝트에서 php 유지보수도 맡게 되어 세팅하는 중에 어려움에 봉착해 문의 드립니다.현재 유지관리 중인 사이트의 운영 환경 정보는 아래와 같습니다.

WebServer : Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1c PHP/5.5.12php : Version 5.5.12db : CUBRID 2008 R4.3 (8.4.3.1005) (64bit release build for linux_gnu)ci(php framework codeigniter) : 2.1.4ci 2.1.4는 지원이 끝난 버전이라 개발환경 세팅에 매우 어려움을 겪고 있습니다.

현재 제가 구성 중인 개발환경은 아래와 같습니다.- (apache, php : xampp 활용)apache :  Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.19php : 5.5.19 Win 32bit- cubrid 연동 관련 모듈php-cubrid dll : CUBRID-PHP5-5.5-WIN32-VC11-TS-9.3.0.0002.binpdo-cubrid dll : CUBRID-PDO-5.5-WIN32-VC11-TS-9.3.0.0002.bincubrid : CUBRID 9.3 (9.3.9.0002) (64bit release build for linux_gnu) (Aug  4 2017 11:55:22)기존에 세팅된 프로젝트들의 큐브리드 버전이 9.3인데 좀 많은 프로젝트가 물려 있어서 운영에 맞춰서 8.3으로 낮추기가 힘든 상황입니다.

현재 php <-> cubrid driver 연동 후 db 접속/데이터 조회는 성공 했습니다.(conn.php를 만들어서 아래와 같은 소스로 테스트)

<?$database ="xxx";$host ="xx.xx.x.xxx";$port ="33000";//use default value$username ="dba";$password ="xxxx";$sql = "SELECT * FROM xxxx limit 10";$conn_str ="cubrid:dbname=".$database.";host=".$host.";port=".$port;try{$conn_str ="cubrid:dbname=".$database.";host=".$host.";port=".$port;echo"PDO connect string: <br>".$conn_str." <br>";$db =new PDO($conn_str, $username, $password );echo"PDO connection created ok!"." <br><br>";foreach($db->query($sql)as $row){echo $row['xxx'].' - '. $row['xxx'].' - '. $row['xxx'].' <br>';}$db = null;//disconnect}catch(PDOException $e){echo"Error: ".$e->getMessage()."";}

데이터 조회 결과는 첨부파일3.png입니다.

운영 페이지는 index.php에서 application, system 폴더등 읽어온 뒤 controller 타고 해당 화면을 표시하는데현재 아래와 같이 cubrid 관련 메서드 에러가 발생하고 있습니다.

A PHP Error was encounteredSeverity: WarningMessage: Error: CCI, -20016, Cannot connect to CUBRID CASFilename: cubrid/cubrid_driver.phpLine Number: 68

해당 라인은 첨부파일1.png와 같습니다.첨부와 같이 cubrid 관련 function에서 Undefined 에러가 발생합니다.cubrid 사이트에서 확인 해보니cubrid driver가 cci에 의존성을 가지고 있다고 해서 확인해 봤는데 9.3버전으로 같은 버전입니다.(첨부파일2.png)

그냥 php에서는 cubrid 접속 후 테이블에서 데이터 조회하는 것까지 성공 했는데 왜 첨부파일1.png처럼 ci에서 cubrid 메서드를 찾을 수 없다고 나오는 것일까요? 

이것 때문에 지금 로컬에서 화면을 띄우지 못하고 있습니다.아래 에러에서 막히고 있습니다.(첨부파일4.png)첨부파일4에서 에러 발생한 cubrid_driver.php는 첨부파일1.png 소스입니다.제가 뭘 더 확인해 봐야 될까요?

도움 부탁 드립니다.

태그 Cannot connect to CUBRID CAS,ci 2.1.4,cubrid
첨부파일 첨부파일1.png (220.5 KB)
첨부파일3.png (157.8 KB)
첨부파일4.png (124.1 KB)
 다음글 [MFC] CFileFind 를 이용하여 여러 DAT ... (1)
 이전글 모바일웹에서의 무한 페이지네이션 (2)

댓글

한대승(불의회상) / 2022/04/19 14:08:27 / 추천 0

php에 큐브리드 ext가 설치되어 있는지 확인 먼저 하세요.

https://www.cubrid.com/faq/3815578

어흥dev / 2022/04/20 11:11:29 / 추천 0

한대승(불의회상)님 답변 감사합니다.

php에는 현재 ext가 이미 있고 *cubrid.dll도 인식이 되어서 ci를 거치지 않는 일반 php에서는 cubrid db 데이터 조회도 되는 상태입니다.

그전에 테스트 해 봤을 때 cubrid driver 인식이 안되면 driver를 찾을 수 없다고 나오더라고요.

한대승(불의회상) / 2022/04/20 11:56:44 / 추천 0

@어흥dev 프레임워크라 하더라도 php언어의 범주에서 벗어나지 않습니다.

일반 php에서 문제가 없다면 프레임워크도 문제가 없는게 정상입니다.

사용하시는 프레임워크의 버전이 낮은 부분이 조금 걸리긴 하지만, 오류가 발생하는 부분을 추적을 통하여 알고계시니 연결 관련 정보 출력하며 디버깅하시면 해결 가능하실듯 합니다.

어흥dev / 2022/04/20 13:10:21 / 추천 0

@한대승(불의회상) 감사합니다.

많은 도움이 되었습니다.