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

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

QA

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

답변 3

본문

선배님들 안녕하세요.

이번에 그누보드  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 );

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로