테스트 사이트 - 개발 중인 베타 버전입니다

영카트설치시에 뜨는 에러가 왜 생기는지 모르겠습니다 채택완료

꾸러기님 8년 전 조회 4,267

영카트를 다 설치하고 mysql디비지정까지 한후 들어가니

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /free/home/mbcidc128/html/shop_gnu5/lib/common.lib.php on line 2350 이런 내용이 뜨면서 더 이상  진행이 안되는군요

 

왜 그럴까요?

common.lib.php 의 2350 line은 아래와 같습니다(그대로복사한 내용입니다)

 

2349   class html_process { 2350   protected $css = array();     protected $js  = array();

    function merge_stylesheet($stylesheet, $order)     {         $links = $this->css;         $is_merge = true;

        foreach($links as $link) {             if($link[1] == $stylesheet) {                 $is_merge = false;                 break;             }         }

        if($is_merge)             $this->css[] = array($order, $stylesheet);     }

    function merge_javascript($javascript, $order)     {         $scripts = $this->js;         $is_merge = true;

        foreach($scripts as $script) {             if($script[1] == $javascript) {                 $is_merge = false;                 break;             }         }

        if($is_merge)             $this->js[] = array($order, $javascript);     }

    function run()     {         global $config, $g5, $member;

        // 현재접속자 처리         $tmp_sql = " select count(*) as cnt from {$g5['login_table']} where lo_ip = '{$_SERVER['REMOTE_ADDR']}' ";         $tmp_row = sql_fetch($tmp_sql);

        if ($tmp_row['cnt']) {             $tmp_sql = " update {$g5['login_table']} set mb_id = '{$member['mb_id']}', lo_datetime = '".G5_TIME_YMDHIS."', lo_location = '{$g5['lo_location']}', lo_url = '{$g5['lo_url']}' where lo_ip = '{$_SERVER['REMOTE_ADDR']}' ";             sql_query($tmp_sql, FALSE);         } else {             $tmp_sql = " insert into {$g5['login_table']} ( lo_ip, mb_id, lo_datetime, lo_location, lo_url ) values ( '{$_SERVER['REMOTE_ADDR']}', '{$member['mb_id']}', '".G5_TIME_YMDHIS."', '{$g5['lo_location']}',  '{$g5['lo_url']}' ) ";             sql_query($tmp_sql, FALSE);

            // 시간이 지난 접속은 삭제한다             sql_query(" delete from {$g5['login_table']} where lo_datetime < '".date("Y-m-d H:i:s", G5_SERVER_TIME - (60 * $config['cf_login_minutes']))."' ");

            // 부담(overhead)이 있다면 테이블 최적화             //$row = sql_fetch(" SHOW TABLE STATUS FROM `$mysql_db` LIKE '$g5['login_table']' ");             //if ($row['Data_free'] > 0) sql_query(" OPTIMIZE TABLE $g5['login_table'] ");         }

        $buffer = ob_get_contents();         ob_end_clean();

        $stylesheet = '';         $links = $this->css;

        if(!empty($links)) {             foreach ($links as $key => $row) {                 $order[$key] = $row[0];                 $index[$key] = $key;                 $style[$key] = $row[1];             }

            array_multisort($order, SORT_ASC, $index, SORT_ASC, $links);

            foreach($links as $link) {                 if(!trim($link[1]))                     continue;

                $link[1] = preg_replace('#\.css([\'\"]?>)$#i', '.css?ver='.G5_CSS_VER.'$1', $link[1]);

                $stylesheet .= PHP_EOL.$link[1];             }         }

        $javascript = '';         $scripts = $this->js;         $php_eol = '';

        unset($order);         unset($index);

        if(!empty($scripts)) {             foreach ($scripts as $key => $row) {                 $order[$key] = $row[0];                 $index[$key] = $key;                 $script[$key] = $row[1];             }

            array_multisort($order, SORT_ASC, $index, SORT_ASC, $scripts);

            foreach($scripts as $js) {                 if(!trim($js[1]))                     continue;

                $js[1] = preg_replace('#\.js([\'\"]?>)$#i', '.js?ver='.G5_JS_VER.'$1', $js[1]);

                $javascript .= $php_eol.$js[1];                 $php_eol = PHP_EOL;             }         }

        /*                         밑으로 스킨의 스타일시트가 위치하도록 하게 한다.         */         $buffer = preg_replace('#([^<]*]+>)#', "$1$stylesheet", $buffer);

        /*                         전에 스킨의 자바스크립트가 위치하도록 하게 한다.         */         $nl = '';         if($javascript)             $nl = "\n";         $buffer = preg_replace('#([^<]*]*>)#', "$javascript{$nl}$1", $buffer);

        return $buffer;     } } 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
8년 전

https://sir.kr/qa/177812">https://sir.kr/qa/177812 

동일한 질문이네요. 서버 php 버전 체크하세요.

상세 이유는 이렇다고 하네요. 윗 글에 나와있습니다.

"class 내에서 사용되는 protected 키워드가 php 4.x대에서는 지원 자체가 안 되는 거라서 그렇습니다."  

   

그누보드5, 영카트5 공통
  • PHP 5.0 이상
  • MySQL 5.0 이상 or MySQL 5.0 이상의 기능을 만족하는 mariaDB
  • 리눅스 호환 OS
그누5를 원활하게 사용하려면 최소 5.0 이상이어야 합니다.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

8년 전

버젼 오류같네요

php버젼 체크하세여

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인