* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Windows 10 pro |
|
CUBRID 2008 R4.3 (8.4.3.1005) (64bit release build for Windows_NT) (Dec 14 2012 19:16:36) |
|
[도움말]-[버전정보] 확인 |
|
php |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요 php <-> cubrid 연동 관련 문의드립니다.
개발환경 : 로컬
[xampp]
php 세팅 : xampp 이용
다운로드 링크 :
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.40/
설치 파일 :
xampp-windows-x64-5.6.40-1-VC11-installer.exe
[cubrid]
다운로드 링크 :
https://ftp.cubrid.org/CUBRID_Engine/8.4.3/Windows/
설치 파일 :
CUBRID-Windows-x64-8.4.3.1005.exe
cubrid_rel(cubrid ver) :
CUBRID 2008 R4.3 (8.4.3.1005) (64bit release build for Windows_NT) (Dec 14 2012 19:16:36)
=====================================================================================
아래와 같은 절차로 테스트 중입니다.
xampp 설치 후 환경변수 확인 완료
php --version 잘 표시됨
PHP 5.6.40 (cli) (built: Jan 9 2019 15:10:36)
pdo driver 다운로드 링크 :
https://ftp.cubrid.org/CUBRID_Drivers/PHP_Driver/PDO/CUBRID8.4.3/Windows/
pdo driver :
CUBRID-PDO-5.4-WIN64-VC9-NTS-8.4.3.0001.bin.zip
php_pdo_cubrid.dll을 "C:\xampp\php\ext" 경로로 이동(extension_dir이 "C:\xampp\php\ext"로 되어 있음)(php.ini 734 line)
php.ini에서 extension=php_pdo_cubrid.dll 한줄 추가(php.ini 912 line)
드라이버 로딩 하는 지 아래 소스로 확인
<?php
echo'PDO Drivers available:
';
foreach(PDO::getAvailableDrivers()as $driver) {
if($driver =="cubrid") {
echo" - Driver: <b>".$driver.'</b>';
} else {
echo" - other Driver: ".$driver.'';
}
}
?>
driver 목록에 cubrid가 표시가 되지 않고 그냥 아래처럼 표시됩니다.
"PDO Drivers available: - other Driver: mysql - other Driver: sqlite"
제가 뭔가 놓친게 있나요?
그리고 원래 cmd에서 php --version 시 정상적으로 표시 되지만
php_pdo_cubrid.dll을 복사 후 php.ini에서 extension에서 추가 하면
cmd에서 php --version 입력 시 아래와 같이 dll파일을 읽지 못합니다.(첨부파일 cmd-php--version.png 참조)
해당 경로에 정상적으로 dll파일은 존재합니다.(첨부파일 php_pdo_cubrid.dll.png 참조)
php.ini파일과 캡쳐사진 첨부 합니다.
도움 부탁 드립니다.
아래는 제가 참조한 블로그입니다.
https://junny1909.tistory.com/176
아래와 같이 driver 연결 테스트 시 echo"Error: ".$e->getMessage()." 이 메시지가 떠서
"Could not find driver"라고 나옵니다.
<?php
$database ="test";
$host ="아이피";
$port ="33000";//use default value
$username ="dba";
$password ="비밀번호";
try{
$conn_str ="cubrid:dbname=".$database.";host=".$host.";port=".$port;
echo"PDO connect string: ".$conn_str."
";
$db =new PDO($conn_str, $username, $password );
echo"PDO connection created ok!"."
";
$db = null;//disconnect
}catch(PDOException $e){
echo"Error: ".$e->getMessage()."
";
}
?>