DB연동 문제가 발생하는데 원인을 모르겠습니다

DB연동 문제가 발생하는데 원인을 모르겠습니다

QA

DB연동 문제가 발생하는데 원인을 모르겠습니다

본문

A 서버에서 사진을 찍으면 다른 B 서버에서 사진을 가져가는 프로그램이 있습니다

A 서버를 교체하였는데 분명 A 서버 교체 전 A 서버 종료 후 A-1 서버로 테스트시 정상 작동을 하였습니다

 

현재 A-1서버로 완벽하게 교체 후 사진 전송이 안되길래 에러 로그를 확인해봤더니

B서버 common에서 이러한 에러 코드가 발생하는 것을 확인했습니다

localhost rc.local: PHP Warning:  mysqli::__construct(): (HY000/2002): No such file or directory in /var/www/html/xxx/common.php on line 39

 

그래서 localhost를 못가져와서 그런가 싶어 127.0.0.1로 변경하였더니 에러코드가

localhost rc.local: PHP Warning:  mysqli::__construct(): (HY000/2002): Connection refused in /var/www/html/xxx/common.php on line 39

 

이렇게 발생하고 있습니다

common에서 에러가 발생하는 코드를 올려드리겠습니다.. ㅠㅠ

고수님들 확인 부탁드리겠습니다..

 

define('_DBHOST_','localhost'); //127.0.0.1로 변경 시 다른 에러 발생
define('_DBUSER_','root');
define('_DBPASS_','password');
define('_DBNAME_','name');

// MSSQL DB 정보 설정 ( Local Network )
// define('_MSDBHOST_',"192.168.bb.bb");
define('_MSDBHOST_',"bbbb");
define('_MSDBUSER_','bbbb');
define('_MSDBPASS_','bbbb');
define('_MSDBNAME_','bbbb');

// MSSQL(ODBC) DB 정보 설정 ( Local Network )
//define('_MSDBHOST2_','cccc');
define('_MSDBHOST2_','cccc');
define('_MSDBUSER2_','cccc');
define('_MSDBPASS2_','cccc');
define('_MSDBNAME2_','cccc');

// Y MSSQL DB 정보 설정 ( Local Network )
//define('_YMSDBHOST_',"115.137.bb.bb");
define('_YMSDBHOST_',"bbbb");
define('_YMSDBUSER_','bbbb');
define('_YMSDBPASS_','bbbb');
define('_YMSDBNAME_','bbbb');

 

define('_DATA_','ps_data');
define('_MEMBER_','ps_member');
define('_MEMBER_LOG_','ps_member_log');
define('_PIXELSPACING_','ps_pixelspacing');
define('_INFO_','ps_info');

/******************************************************************************************************************///    Mysql
function fncDbOpen() {            // DB Connect
    global $mydb;
    $mydb = new mysqli(_DBHOST_,_DBUSER_,_DBPASS_,_DBNAME_);  //39에러 발생 구간
    if (mysqli_connect_errno()) printf($mydb->error);
}

function fncDbClose() {            // DB Disconnect
    global $mydb;
    @$mydb->close();
}

function fncDbQuery($query) {    // Query
    global $mydb;
    $rs = $mydb->query($query);
    if (mysqli_connect_errno()) printf($mydb->error);
    return $rs;
}

function fncDbRow1($query) {    // One Row Query
    $rs = fncDbQuery($query);
    $data = @$rs->fetch_assoc();
    $rs->free();
    return (is_array($data)) ? array_map('stripslashes',$data) : stripslashes($data);
}

function fncDbData1($query) {    // One Data Query
    $rs = fncDbQuery($query);
    $count = @$rs->fetch_row();
    $rs->free();
    return (is_array($count[0])) ? array_map('stripslashes',$count[0]) : stripslashes($count[0]);
}

function fncDbExQuery($query) {    // Insert,Delete,Update Query
    global $mydb;
    $rs = $mydb->query($query);
    if (mysqli_connect_errno()) printf($mydb->error);
}

 

위 코드에서 아래 부분은 다른 서버 연동부분이라 잘라서 올렸습니다..

 

mysql 같은 경우엔 phpmyadmin 접속도 잘되고 실시간 업데이트도 잘되고 있습니다

putty에서 B 서버 접속 후

mysql -h 127.0.0.1 -P 3306 -u root -p <- 접속 가능

mysql -h localhost -P 3306 -u root -p <- 접속 가능

mysql -h 127.0.0.1 -u root -p <- 접속 가능

mysql -h localhost -u root -p <- 접속 가능

 

 

참고로 연동 프로그램에서 오류가 발생하는 구간은

include_once (_YEPACSCVT_DIR_.'common.php');

 

위 명령어 인식을 못해서 발생하고 있는것 같아요..

이 질문에 댓글 쓰기 :

답변 11

문의 드릴게요.

_DBHOST_ 값이 로컬호스트나요 아니면 public ip주소나요?

localhost입니다
답변 감사합니다 문제는 해결했습니다

해당 오류는 부팅 시에만 발생하고 부팅이 끝난 이후엔 발생하지 않아
부팅 시 데몬이나 다른게 활성화 되기전이라 오류가 발생하는거였고
부팅이 끝나면 오류가 발생하지 않아 해당 오류가 문제가 아닌 것을 알았습니다
rc.loal에 sh로 common.php를 반복 실행하기 때문에 부팅시에만 오류가 발생하는 것은
오류가 아니였습니다

자동 전송 테스트까지 되다 안되던건 common.php의 문제가 아니라
자동전송.php에서 프라이머리키 값의 문제였네요..

해당 프라이머리키가 텅 빈 서버 상태에서 제가 테스트를 했기 때문에 수치가 낮았는데
기존 서버 데이터를 마이그레이션을 진행하니 사진이 25만장이 넘어
프리어머리키 값을 추가된 데이터에 맞춰줘야하는 문제였습니다

답변을 작성하시기 전에 로그인 해주세요.
전체 1,284
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT