그누보드 오류
본문
메인화면에 이렇게 뜹니다. 그리고 관리자모드에도 접속도 안되네요.ㅜㅜ
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
php 버전차이로 오류나는거라니까
오류나는 파일 찾아들어가서 주석처리 다 해보시고 되면 다행인데
안되면 버전 맞춰서 재설치
전후 사정 내용이 있을 거 같군요.
G5_TIMEZONE
변수(상수)가 있어야 하는데 없다는 것은
테마 같은 설치 절차에서 빠진 것일 수 있습니다.
그누보드 버전이 궁금하긴한데요,
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];
}
요렇게 하면 해결될 것으로 예상됩니다.
!-->