MySQL Host, User, Password, DB 정보에 오류가 있습니다. 채택완료
집에서 로컬 서버를 구성하여 같은 환경에서 php버전만 다르게 해서 php5.5버전과 php7.4 버전에 각각 설치했는데, php7.4버전에서는 db를 정상적으로 인식하여 정상 설치가 되지만, php5.5 버전에서는 "MySQL Host, User, Password, DB 정보에 오류가 있습니다."라는 에러가 뜨면서 설치가 안됩니다. 혹시 추측가는 문제점이 있을까요? php.ini에서 mysqli, mysql 주석 해제 해봤지만 안되네요. 카페 24에서 웹호스팅 상품을 보시면,
php5.5 + 그누보드5 제품이 분명 있는데, 왜 저는 안될까요?
답변 6개
/data/dbconfig.php 에서
아래와 같은 부분이 있다면
</p>
<p>define('G5_MYSQL_HOST', 'localhost');</p>
<p>
아래처럼 변경해보세요
</p>
<p>define('G5_MYSQL_HOST', 'localhost:3306');</p>
<p>또는</p>
<p>define('G5_MYSQL_HOST', '127.0.0.1');</p>
<p>
답변에 대한 댓글 6개
아니라면 localhost:포트번호
지정해서 시도해보시고
동일하다면
lib/common.lib.php 에서
다음처럼 수정 후 나오는 에러메세지 확인해보세요
[code]
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());
} */
mysqli_report(MYSQLI_REPORT_ALL);
$link = mysqli_connect($host, $user, $pass, $db);
if (!$link) {
echo '[mysqli] ' . mysqli_connect_errno() . ' : ' . mysqli_connect_error();
}
} else {
$link = mysql_connect($host, $user, $pass);
if (!$link) {
echo '[mysql] ' . mysql_errno() . ' : ' . mysql_error();
}
}
return $link;
}
[/code]
해당 코드 그대로 복사하여 붙여넣기 하니 기존 db 정보에 오류 있따는 에러 대신,
Warning: mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in C:\php\b\nginx-1.23.1\www\lib\common.lib.php on line 1566
Fatal error: Uncaught exception 'mysqli_sql_exception' with message 'Server sent charset unknown to the client. Please, report to the developers' in C:\php\b\nginx-1.23.1\www\lib\common.lib.php:1566 Stack trace: #0 C:\php\b\nginx-1.23.1\www\lib\common.lib.php(1566): mysqli_connect('localhost', 'root', '1234', 'khnr') #1 C:\php\b\nginx-1.23.1\www\common.php(155): sql_connect('localhost', 'root', '1234') #2 C:\php\b\nginx-1.23.1\www\_common.php(2): include_once('C:\php\b\nginx-...') #3 C:\php\b\nginx-1.23.1\www\index.php(2): include_once('C:\php\b\nginx-...') #4 {main} thrown in C:\php\b\nginx-1.23.1\www\lib\common.lib.php on line 1566
이런 에러가 뜨네요
MySQL 8 을 설치하신건가요?
DB 접속해서 쿼리한번 날려보세요
[code]
mysql> SHOW VARIABLES LIKE '%char%';
[/code]
utf8mb4 가 나오면 utf8 로 수정해줘야 하는 이슈 같네요
그럴 경우 my.cnf 를 다음처럼 수정해주고 DB 서버 재시작 시도해보세요
[code]
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
[/code]
윈도우라서 my.ini 파일을 설정해주었씁니다. 그리고 utf8이 아니라 utf8mb3 으로 나오는데 워크벤치 8에서는 utf8이 utf8mb3 으로 바뀐 것 같아요. 왜 안될까요 하 ㅠㅠ 한글 깨지는 문제만 해결하면 왠지 될 것 같은데.. 혹시 몰라 질문글도 새로 올렸는데 시간 나실 때 한번 봐주시면 정말 감사하겠습니다 ㅠ https://sir.kr/qa/477944
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
Host를 %로 바꿔 보세요
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인