그누보드4에서 5로 업그레이드 이후 로그인 에러

그누보드4에서 5로 업그레이드 이후 로그인 에러

QA

그누보드4에서 5로 업그레이드 이후 로그인 에러

답변 8

본문

 

안녕하세요?

근래 그누보드4에서 버전 5로 업그레이드를 했습니다.

이후 로그인을 했는데 오류가 아래와 같이 발생합니다.

예전 그누보드4에서 가입된 ID를 MySQL에서 불러오면서 문제가 생긴것은 아닌지 생각이 듭니다.

그러나 예전 ID 어떤 것은 오류가 나고, 어떤 ID는 오류가 안납니다.

코드를 어떻게 수정해야 하는지 도와주시면 너무 감사하겠습니다.

 

Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('password') as pass' at line 1 in /hosting/chemeng/html/lib/common.lib.php:1602 Stack trace: #0 /hosting/chemeng/html/lib/common.lib.php(1602): mysqli_query() #1 /hosting/chemeng/html/lib/common.lib.php(1637): sql_query() #2 /hosting/chemeng/html/lib/common.lib.php(1676): sql_fetch() #3 /hosting/chemeng/html/lib/common.lib.php(3258): sql_password() #4 /hosting/chemeng/html/bbs/login_check.php(34): login_password_check() #5 {main} thrown in /hosting/chemeng/html/lib/common.lib.php on line 1602

 

이 질문에 댓글 쓰기 :

답변 8

php 및 디비 버전을 확인해 보세요...
서버에 설치되어 있는 버전이 너무 낮은것 같습니다.
 

PHP 5.2.17 이상 ( 최소버전 요구)
MySQL 5.0 이상 or MySQL 5.0 이상의 기능을 만족하는 mariaDB
리눅스 호환 OS
PHP 추천버전은 7.2 이상을 추천합니다

 

https://sir.kr/manual/g5
이곳에서 들어가서 내용을 확인해 보세요

사양이 문제가 맞습니다.

기존 호스팅의 php 버전이 낮아 현재 닷홈 호스팅의 php 버전과 호환되지 않습니다.

 

기존 호스팅에서 그누보드4 → 5 로 변환후 일부 살릴수가 있을것 같은데

기왕이면 새로 제작하시는걸 권장해드립니다.

답변 감사합니다.

저는 닷홈호스팅 사용중이고요, 사양은 아래와 같습니다. 사양은 문제가 없을 것 같습니다.

 

웹서버 정보 : Apache 2.4
PHP 버전 : PHP 8.2
Mysql : 8.2.18

 

좋은 정보 감사합니다. 그누보드4에서 회원정보를 그누보드5로 가져오면 활용이 어렵군요.

아래 url에서 참고할 정보를 보았는데 적용이 되는 걸까요?

 

https://sir.kr/g5_tip/10358

 

제거 코드를 테스트해보니 아래 코드에서 오류가 발생했습니다.

 

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select password('$value') as pass ");

    return $row['pass'];
}

정말 좋은 답변을 주셔서 감사합니다.

MySQL 버번이 다른 상태에서 회원관리를 해야하니 코드를 수정해서 사영하는 방법은 

한계가 있으,므로, 조언해 주신대로 회원암호변경을 추진하도록 하겠습니다. 

회원 계정은 비번변경을 유도하여 해결할 수 있으나, 비회원으로 작성된 글, 댓글 수정에도 이 문제는 동일하니 참고하세요.


https://github.com/gnuboard/gnuboard5/blob/82648dcbfcc919ed261b29a9b3bf3705561ddc09/extend/g5_54version_update.extend.php#L5-L6
이 두 라인을 주석처리하면 비록 올바른 비번 비교는 실패하겠지만 오류 발생은 막을 수 있습니다.
(어차피 비번 비교가 불가하니 fatal error는 막아야죠)

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,331
© SIRSOFT
현재 페이지 제일 처음으로