(Docker) php8.2.16 gnuboard5.5.13 mysql connect issue
본문
잘 이해가 되지 않아 여쭙습니다.
docker compose 로 구동중이고.
navystack 님의 gnuboard 5 버전 Docker image 로 실행중입니다.
설치 전 설정 페이지를 2~3개쯤 진행하다가.
500 에러가 발생하면서 빈 Alarm 창만 계속 출력되는데,
docker log 를 확인해보면
PHP message : PHP Fatal error: Uncaught Error:Call to Undefined function mysql_connect() in /var/www/html/lib/common.lib.php:1655 |
라는 메세지가 반복해서 보입니다.
이 내용이 결국은
/var/www/html/lib/common.lib.php 에서
mysql_connect() 라고 선언되지 않은, 펑션을 호출해서 에러가 났다는 말인데,
Docker image 인데, 어떤걸 수정해야 할까요?
확인해보니 현재 navystack/gnuboard 님의 Docker image 에는
php 8.2.16 / gnuboard 5.5.13 으로 동작중입니다.
동일한분이 만드신 Rhymix 는 한번에 잘 붙던데... 뭘 수정해야 할지 모르니 좀 답답하네요;;
덧)
Error 발생한 코드 부분을 까서 보면
아래 mysql_connect 가 있는데,
mysqli_connect function 이 있으면서 G5_MYSQLI_USE 값이 true 일때... 라는건데,
G5_MYSQLI_USE = true 는 확인이 됩니다만,
mysqli_connect 나 mysql_connect 펑션이 확인이 안됩니다. 어디에 있나요???
// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
global $g5;
if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
mysqli_report(MYSQLI_REPORT_OFF);
$link = @mysqli_connect($host, $user, $pass, $db) or die('MySQL Host, User, Password, DB 정보에 오류가 있습니다.');
// 연결 오류 발생 시 스크립트 종료
if (mysqli_connect_errno()) {
die('Connect Error: '.mysqli_connect_error());
}
} else {
$link = mysql_connect($host, $user, $pass);
}
return $link;
}