구버전 그누보드에서 최신버전으로 업데이트 하고 나서 오작동합니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
구버전 그누보드에서 최신버전으로 업데이트 하고 나서 오작동합니다.

QA

구버전 그누보드에서 최신버전으로 업데이트 하고 나서 오작동합니다.

본문

선배님들 안녕하세요.

이번에 그누보드  5.4.4.9에서 최신버전으로 업데이트 하고 나서 오작동을 하네요. 

 

 

페이지가 작동하지 않습니다.

현재 xxxxxxxxxxxxxxxxx.com에서 요청을 처리할 수 없습니다.

HTTP ERROR 500

 

 

 

이런 메세지가 출력되네요. ㅠㅠ

auto_move.php 파일을 사용을 했는데 이 파일이 업데이트후에 작동을 안하네요.

PHP어떤 부분이 잘못되었는지 수정할 부분이 어떤 것인지 아래 auto_move.php 확인 좀 부탁드릴게요.

항상 도움주셔서 미리 감사드립니다. 

 

 

 

 

 

<?php
include_once('/home/xxxxxxxxxxxxxxxxx/www/common.php');
$sw = "move";
$bo_table = "temp_board";
$write_table = $g5['write_prefix'] . $bo_table;
// 원본 파일 디렉토리
$src_dir = G5_DATA_PATH.'/file/'.$bo_table;
$save = array();
$save_count_write = 0;
$save_count_comment = 0;
$cnt = 0;
$sql = " select distinct wr_num, wr_2 from $write_table where date_format(wr_1, '%Y-%m-%d %H:%i') = date_format(now(), '%Y-%m-%d %H:%i')";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
    $move_bo_table = $row['wr_2'];
    if ($move_bo_table == "") continue;
    $wr_num = $row['wr_num'];
    // 취약점 18-0075 참고
    $sql = "select * from {$g5['board_table']} where bo_table = '".sql_real_escape_string($move_bo_table)."' ";
    $move_board = sql_fetch($sql);
    // 존재하지 않다면
    if (!$move_board['bo_table']) continue;
    $move_write_table = $g5['write_prefix'] . $move_bo_table;
    $src_dir = G5_DATA_PATH.'/file/'.$bo_table; // 원본 디렉토리
    $dst_dir = G5_DATA_PATH.'/file/'.$move_bo_table; // 복사본 디렉토리
    $count_write = 0;
    $count_comment = 0;
    $next_wr_num = get_next_num($move_write_table);
    $sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id ";
    $result2 = sql_query($sql2);
    while ($row2 = sql_fetch_array($result2))
    {
        // 게시글 추천, 비추천수
        $wr_good = $wr_nogood = 0;
        if ($sw == 'move') {
            $wr_good = $row2['wr_good'];
            $wr_nogood = $row2['wr_nogood'];
        }
        $sql = " insert into $move_write_table
                    set wr_num = '$next_wr_num',
                         wr_reply = '{$row2['wr_reply']}',
                         wr_is_comment = '{$row2['wr_is_comment']}',
                         wr_comment = '{$row2['wr_comment']}',
                         wr_comment_reply = '{$row2['wr_comment_reply']}',
                         ca_name = '".addslashes($row2['ca_name'])."',
                         wr_option = '{$row2['wr_option']}',
                         wr_subject = '".addslashes($row2['wr_subject'])."',
                         wr_content = '".addslashes($row2['wr_content'])."',
                         wr_link1 = '".addslashes($row2['wr_link1'])."',
                         wr_link2 = '".addslashes($row2['wr_link2'])."',
                         wr_link1_hit = '{$row2['wr_link1_hit']}',
                         wr_link2_hit = '{$row2['wr_link2_hit']}',
                         wr_hit = '{$row2['wr_hit']}',
                         wr_good = '{$wr_good}',
                         wr_nogood = '{$wr_nogood}',
                         mb_id = '{$row2['mb_id']}',
                         wr_password = '{$row2['wr_password']}',
                         wr_name = '".addslashes($row2['wr_name'])."',
                         wr_email = '".addslashes($row2['wr_email'])."',
                         wr_homepage = '".addslashes($row2['wr_homepage'])."',
                         wr_datetime = now(),
                         wr_file = '{$row2['wr_file']}',
                         wr_last = '{$row2['wr_last']}',
                         wr_ip = '{$row2['wr_ip']}'";
        sql_query($sql);
        $insert_id = sql_insert_id();
        // 새글 INSERT
        sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$move_bo_table}', '{$insert_id}', '{$insert_id}', '".G5_TIME_YMDHIS."', '{$row2['mb_id']}' ) ");
        // 코멘트가 아니라면
        if (!$row2['wr_is_comment'])
        {
            $save_parent = $insert_id;
            $sql3 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' order by bf_no ";
            $result3 = sql_query($sql3);
            for ($k = 0; $row3 = sql_fetch_array($result3); $k++)
            {
                if ($row3['bf_file'])
                {
                    // 원본파일을 복사하고 퍼미션을 변경
                    // 제이프로님 코드제안 적용
                    $copy_file_name = ($bo_table !== $move_bo_table) ? $row3['bf_file'] : $row2['wr_id'].'_copy_'.$insert_id.'_'.$row3['bf_file'];
                    ($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$copy_file_name);
                    @chmod($dst_dir.'/'.$row3['bf_file'], G5_FILE_PERMISSION);
                }
                $sql = " insert into {$g5['board_file_table']}
                            set bo_table = '$move_bo_table',
                                 wr_id = '$insert_id',
                                 bf_no = '{$row3['bf_no']}',
                                 bf_source = '".addslashes($row3['bf_source'])."',
                                 bf_file = '$copy_file_name',
                                 bf_download = '{$row3['bf_download']}',
                                 bf_content = '".addslashes($row3['bf_content'])."',
                                 bf_filesize = '{$row3['bf_filesize']}',
                                 bf_width = '{$row3['bf_width']}',
                                 bf_height = '{$row3['bf_height']}',
                                 bf_type = '{$row3['bf_type']}',
                                 bf_datetime = '{$row3['bf_datetime']}' ";
                sql_query($sql);
                if ($sw == 'move' && $row3['bf_file'])
                    $save[$cnt]['bf_file'][$k] = $src_dir.'/'.$row3['bf_file'];
            }
            $count_write++;
            if ($sw == 'move')
            {
                // 스크랩 이동
                sql_query(" update {$g5['scrap_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
                // 최신글 이동
                sql_query(" update {$g5['board_new_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent', wr_parent = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
                // 추천데이터 이동
                sql_query(" update {$g5['board_good_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
            }
        }
        else
        {
            $count_comment++;
            if ($sw == 'move')
            {
                // 최신글 이동
                sql_query(" update {$g5['board_new_table']} set bo_table = '$move_bo_table', wr_id = '$insert_id', wr_parent = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
            }
        }
        sql_query(" update $move_write_table set wr_parent = '$save_parent' where wr_id = '$insert_id' ");
        if ($sw == 'move')
            $save[$cnt]['wr_id'] = $row2['wr_parent'];
        $cnt++;
    }
    sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write + '$count_write' where bo_table = '$move_bo_table' ");
    sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + '$count_comment' where bo_table = '$move_bo_table' ");
    delete_cache_latest($move_bo_table);
    $save_count_write += $count_write;
    $save_count_comment += $count_comment;
}
delete_cache_latest($bo_table);
if ($sw == 'move')
{
    for ($i = 0; $i < count($save); $i++)
    {
        if (isset($save[$i]['bf_file']) && $save[$i]['bf_file'])
        {
            for ($k = 0; $k < count($save[$i]['bf_file']); $k++)
                @unlink($save[$i]['bf_file'][$k]);
        }
        sql_query(" delete from $write_table where wr_parent = '{$save[$i]['wr_id']}' ");
        sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
        sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
    }
    sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$save_count_write', bo_count_comment = bo_count_comment - '$save_count_comment' where bo_table = '$bo_table' ");
}
?>

 

 

이 질문에 댓글 쓰기 :

답변 3

에러를 출력시켜서 어떤 부분에서 에러가 나는지를 보셔야 할듯 합니다.

  error_reporting( E_ALL );
  ini_set( "display_errors", 1 );

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

회원로그인

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