DB/unified_env.php
<?php
/******************************************************************************************
 * 현재 파일 : 기본 콩통 파일
 * 
 * 업비트 API 경로 : 동일 경로 위치 - upbit_api_url.php
 *
 ******************************************************************************************/



/******************************************************************************************
 * unified_env.php
 *
 * 공콩 & 기본 & 반복 변수 : 정의
 *
 ******************************************************************************************/
 
/* 루트 경로 */
$ROOT    = "/home/www";



/******************************************************************************************
 *
 *  공콩 기분 환경 정의
 *
 ******************************************************************************************/

/* --------------------------------------------------------------------------
 * 기본 환경 설정
 * -------------------------------------------------------------------------- */
date_default_timezone_set('Asia/Seoul');
ini_set('display_errors', 0);
error_reporting(E_ALL);

//if (!isset($GLOBALS['ENV_OK']))  $GLOBALS['ENV_OK']  = 1;
//if (!isset($GLOBALS['ENV_ERR'])) $GLOBALS['ENV_ERR'] = '';






/* --------------------------------------------------------------------------
 * 2) DB 연결 함수 (업비트 DB / 그누 DB)
 * -------------------------------------------------------------------------- */
if (!function_exists('upbit_pdo_connect')) {
    function upbit_pdo_connect() {
        try {
            include "/home/www/DB/db_upbit.php";   // 내부에 $pdo_upbit 생성됨
            return (isset($pdo_upbit) && $pdo_upbit instanceof PDO) ? $pdo_upbit : null;
        } catch (Throwable $e) {
            log_msg("upbit_pdo_connect fail: ".$e->getMessage());
            return null;
        }
    }
}

if (!function_exists('gnu_pdo_connect')) {
    function gnu_pdo_connect() {
        try {
            include "/home/www/DB/db_gnu.php";
            return (isset($pdo_gnu) && $pdo_gnu instanceof PDO) ? $pdo_gnu : null;
        } catch (Throwable $e) {
            log_msg("gnu_pdo_connect fail: ".$e->getMessage());
            return null;
        }
    }
}





/* 업비트 DB */
try {
    if (isset($pdo_upbit) && $pdo_upbit instanceof PDO) {
        $pdo_upbit->query("SELECT 1");
    }
} catch (Throwable $e) {
    if (is_db_gone_away($e)) $pdo_upbit = upbit_pdo_connect();
}

/* 그누 DB */
try {
    if (isset($pdo_gnu) && $pdo_gnu instanceof PDO) {
        $pdo_gnu->query("SELECT 1");
    }
} catch (Throwable $e) {
    if (is_db_gone_away($e)) $pdo_gnu = gnu_pdo_connect();
}



/* --------------------------------------------------------------------------
 * 4) 업비트 API 개인키 불러오기
 * -------------------------------------------------------------------------- */
include "/home/www/DB/key_upbit_trade.php";   // UPBIT_ACCESS_KEY / UPBIT_SECRET_KEY 제공

if (empty($UPBIT_ACCESS_KEY) || empty($UPBIT_SECRET_KEY)) {
    $GLOBALS['ENV_OK']  = 0;
    $GLOBALS['ENV_ERR'] = "UPBIT KEY EMPTY";
}