홈페이지가 한번에 뜨지 않고 새로고침해야 뜸니다.

홈페이지가 한번에 뜨지 않고 새로고침해야 뜸니다.

QA

홈페이지가 한번에 뜨지 않고 새로고침해야 뜸니다.

본문

5.x에서 8.2버전 변경후 증상이 생김니다.

현재 홈페이지는 에러 투성이 입니다.

이것만이라도 정상이 되야 합니다.

 

카페24 문의 

※ .htaccess(아래 추가해서 ...test)

php_value error_reporting 6135
php_flag display_errors on

 

에러코드

Warning: Undefined array key "ss_mb_id" in /ikfb/www/g5/common.php on line 338 Warning: Undefined array key "mb_id" in /ikfb/www/g5/common.php on line 413 Warning: Undefined array key "bo_skin" in /ikfb/www/g5/common.php on line 576 Warning: Undefined array key "bo_skin" in /ikfb/www/g5/common.php on line 577 Fatal error: Uncaught mysqli_sql_exception: Unknown column 'vi_os' in 'field list' in /ikfb/www/g5/lib/common.lib.php:1482 Stack trace: #0 /ikfb/www/g5/lib/common.lib.php(1482): mysqli_query(Object(mysqli), 'insert g5_visit...') #1 /ikfb/www/g5/bbs/visit_insert.inc.php(26): sql_query('insert g5_visit...', false) #2 /ikfb/www/g5/common.php(593): include_once('/ikfb/www/g5/bb...') #3 /ikfb/www/index.php(2): include_once('/ikfb/www/g5/co...') #4 {main} thrown in /ikfb/www/g5/lib/common.lib.php on line 1482

 

이렇게 많이 나와요

i-kfb.co.kr

 

이 질문에 댓글 쓰기 :

답변 6

PHP 5.x에서 7.X로 가도 에러가 말도 못하게 나오는데 8.X로 가셨으니.... 

 

일단 그누보드를 최신 버전으로 업그레이드 하시는 게 좋을 듯....최신 버전은 그래도 최신 PHP에 어느 정도 패치된 상태이니...

 

그런 다음 아래 글 참고해 에러 코드 뜨게 설정 후 에러 내용을 확인하세요.

https://homzzang.com/b/faq-63

그런 다음 나온 에러 내용 복사해 질게에 하나씩 질문하며 해결해 보세요.

 

ps. 500 에러는 아래 글 참고해 보세요.

https://homzzang.com/b/html-154

/ikfb/www/g5/lib/common.lib.php, 1482번째 줄에서

mysqli_query() 실행 시 vi_os 컬럼이 없어서 오류가 발생하는 것이 원인입니다.

 

""" 새로고침해야 뜸니다. """

해당만 우선, 우회하시려면, SQL 실행 전에 try-catch 문을 사용하여,
해당 파일의 1482번째 줄에서 mysqli_query() 실행 시 에러가 발생하는

mysqli_query($db, 'insert into g5_visit (...)');  이 부분을 찾아서 아래처럼 예외로 처리하면,

500 에러 없이 인덱스 페이지가 정상적으로 출력되지 않을까 싶습니다.

try {
    mysqli_query($db, 'insert into g5_visit (...)'); 
} catch (mysqli_sql_exception $e) {
    error_log("SQL 오류 발생: " . $e->getMessage()); // 로그만 기록하고 중단 없이 계속 실행
}

 

붙임) PHP:8.x를 사용하실 때, 새롭운 강화 정책으로 인해 발생하는 경고 등이 있습니다.

아래 코드처럼 isset() 또는 ?? 연산자를 사용하여 배열 키가 없는 경우

기본값을 설정하셔 배열키 경고를 방지하여 보세요.

$ss_mb_id = $_SESSION['ss_mb_id'] ?? ''; // 배열 키가 없으면 빈 문자열 사용
$mb_id = $_SESSION['mb_id'] ?? '';
$bo_skin = $_SESSION['bo_skin'] ?? '';

초기 접근시 뭔가 체크하는 부분으로 인해 오류가 발생되는듯 합니다.

그리고 php8버전은 배열이랑 뭔가 체크하는게 문제가 되기에 가능하면 php7.4 버전때를 쓰시는게 어떠실까 싶습니다. 안그러면 오류를 수정할게 많을수도 있습니다.

해당 문제는 QnA 가 아니라, 개발자 분에게 FTP 정보를 주고서 전체적인 확인을 하셔야할거 같습니다.

 

대충 예상되는 문제라면, 초기 접속시에 생성하는 쿠키라던가 세션같은것을 정상적으로 생성하지 못해서 오류가 발생(PHP 실행도중에 중지)하였다가, 2번째 접속할때는 이전에 생성된 쿠키 및 세션 정보를 토대로 소스코드를 실행하기 때문이 아닐까 추측됩니다.

 

PHP는 5버전에서 8버전으로 올릴때 소스코드 점검이 꼭 필요합니다.

http://code.jquery.com/jquery-1.10.1.min.js 이 코드를 찾아서 아래처럼 변경하세요。

=>

https://code.jquery.com/jquery-1.10.1.min.js 또는 //code.jquery.com/jquery-1.10.1.min.js

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

회원로그인

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