그누보드 오류

그누보드 오류

QA

그누보드 오류

본문

메인화면에 이렇게 뜹니다. 그리고 관리자모드에도 접속도 안되네요.ㅜㅜ

Warning: Use of undefined constant G5_TIMEZONE - assumed 'G5_TIMEZONE' (this will throw an Error in a future version of PHP) in /host/home1/iweb/html/common.php on line 141

Warning: Use of undefined constant G5_THEME_PATH - assumed 'G5_THEME_PATH' (this will throw an Error in a future version of PHP) in /host/home1/iweb/html/common.php on line 487

 

Warning: count(): Parameter must be an array or an object that implements Countable in /host/home1/iweb/html/skin/popular/basic/popular.skin.php on line 13

 

혹시나  닷홈에 문의햇더니..

전달주신 오류 메시지는 PHP 버전 이슈로 인한 오류 메시지로 추정되어,
업로드 하신 홈페이지 데이터가 PHP 7.4 / MySQL 8.0 버전에서 정상적으로 구동 가능한 데이터인 지 여부를 확인하여 주시기 바랍니다.

 

이렇게 답변이 왔네요,,,제가 초보라,,어떻게 처리해야할지 모르겟어요 도와주십시오..

 

이 질문에 댓글 쓰기 :

답변 5

혹시 php버전이 어떻게 될까요?

그누보드가 php 5.2.17 이상에서 작동이됩니다.

 

그리고 php 8.x 버전에서는  오류가 있을수 있으니 7.x 까지에서만 돌리는것을 권장 드립니다.

 

아래 설정환경을 확인해보시기 바랍니다.

  • PHP 5.2.17 이상 ( 최소버전 요구)
  • MySQL 5.0 이상 or MySQL 5.0 이상의 기능을 만족하는 mariaDB
  • 리눅스 호환 OS
  • PHP 추천버전은 7.2 이상을 추천합니다.
     
  • 필수 라이브러리
    • GD Library 2.0 이상
    • iconv
       
  • SNS 사용시 필수 (글을 SNS 로 복사하는 기능)
    • cURL
    • JSON

그누보드 버전이 궁금하긴한데요,

1.Warning: Use of undefined constant G5_TIMEZONE - assumed 'G5_TIMEZONE' (this will throw an Error in a future version of PHP) in /host/home1/iweb/html/common.php on line 141

-답변


if (defined('G5_TIMEZONE')) sql_query(" set time_zone = '".G5_TIMEZONE."'");

defined의 작은 따옴표를 체크해보시고요


2.Warning: Use of undefined constant G5_THEME_PATH - assumed 'G5_THEME_PATH' (this will throw an Error in a future version of PHP) in /host/home1/iweb/html/common.php on line 487

webroot /common.php
에서 만약 아래와 같다면,


if(is_file(G5_THEME_PATH.'/theme.config.php'))
    include_once(G5_THEME_PATH.'/theme.config.php');

아래와 같이 변경해주시기 바랍니다.


if(defined('G5_THEME_PATH') && is_file(G5_THEME_PATH.'/theme.config.php'))
    include_once(G5_THEME_PATH.'/theme.config.php');

3.Warning: count(): Parameter must be an array or an object that implements Countable in /host/home1/iweb/html/skin/popular/basic/popular.skin.php on line 13

아마 아래와 같은 코드로 배열을 for문으로 돌렸을것으로 의심됩니다.
조금더 설명을 드리면, 반복문 시작이 i=0이므로 count($i)가 0으로 나와서 나오는 현상으로 보입니다.

1차원 배열에서는 보통 배열이름을 쓰지만, 다차원에서는 배열이름[$i][$j] 이런구조일시 많이 발생합니다.

php7은 배열카운트를 담을 변수를 미리 선언하길 바란다고 합니다. php8부터는 더 민감하고요.


for($i =0; $i < count($i); $i++) {
    $row = $result[$i];
}

이런 코드면 


$count = count(배열이름);
for($i = 0; $i < $count; $i++) { 
    $row = $result[$i];
}

이렇게 해도 오류가 나오면


$count = 0;
if (is_array(배열이름)){
   $count = count(배열이름);
}
for ($i =0; $i < $count; $i++ ) { 
    $row = $result[$i];
}

요렇게 하면 해결될 것으로 예상됩니다.

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

회원로그인

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