- Solaris (SPARC, X86, X64) 자료실 -

순간을 위해 평생을 준비하라.
기회란 언제나 예고 없이 찾아온다 항상 낚싯대를 던져 놓아라.
전혀 기대하지 않았던 곳에서 고기가 잡히리라.




Vote Reply Modify Forward Prev Next List

  작성자   : 조성환 [ ladmin ] 추천: 2238, 조회: 12192, 줄수: 113, 분류: Etc.
zbxe 에서 "0개의 데이터 입력이 완료..."의 해결 (iconv 설치하기)

(퍼온글)

http://www.zeroboard.com/mgrc_tip/16316887


마이그레이션이 뭔지도 모르는 저같은 초보님들을 위해, 감히 팁란에 이곳에서 도움받은 일들을 알기쉽게 정리해보려합니다.

저는 홈 이사를 기념으로 제로보드4.pl8 ->제로보드XE (beta0.2.8)로 변환(마이그레이션^^;)하려는중 문제가 생겼습니다.
12/21에 배포된 변환기로 xml파일을 만들어 절차대로 변환했는데도, 새 게시판을 확인해보면 정작 변환은 하나도 안된 것입니다.

증상1.    0개의 데이터 변환
가령 총 22개의 게시물이 있는 게시판을 복구하려한 경우에는, 변환중엔 어떤 에러 증상도 없는대신 변환 후에



요렇게 뜨면서, 정작 변환이 하나도 안된거였죠, (22개중에 0개복구, 즉 하나도 복구가 안되었다는 얘기)
이곳의 질답란과 팁란을 뒤져보니, "0개의 데이터 입력이 완료되었습니다"  의 경우 이런 내용들이 나오더군요.
 1. *.xml파일의 이름이 영문이 아닌 경우 나타나기 쉽다.
 2. "0"개의 데이터 뜬다해도, 관리자모드에서 게시판을 확인해보면 정작 제대로 옮겨져있을수 있다.

하지만 제 경우는 원래 xml파일이 영문이름이었고, 관리자모드에서 다시봐도 확인할수 없었습니다.
그래서 이상해서 생성된 xml파일을 살펴보다가 발견했습니다.

증상2. 변환된 *.xml 파일들의 크기가 거의1kb로 모두 똑같다. (글이 많든적든 모든 게시판변환파일이 다 1kb)
문제의  xml파일을 메모장으로 열어 살펴보니, 게시판 내용들은 아무것도없고, 딸랑 이렇게만 쓰여있더군요.

<?xml version="1.0" encoding="utf-8" ?>
<posts count="12" id="게시판 이름" pubDate="20071224033336">
<post>
<title><br />
<b>Fatal error</b>:  Call to undefined function:  iconv() in <b>저의홈 절대경로/zeroboard4/classes/zMigration.class.php</b> on line <b>93</b><br />

(한글 부분은 실제 제홈의 영문주소와 이름을 편의상 한글로 바꾼것)
그래서 xml에 문제가 생긴것같아 이곳질답란에 올렸고, 이창훈님과 제로님의 도움으로 무사히 해결을 보았습니다. (두분께 정말 감사합니다^^)
괜히 글이 길어지는데, 이제 정리해보겠습니다  ^^;




1. 증상 : 1) "0/??개의 데이터입력이 완료되었습니다" 메세지가 뜨고 정작 아무것도 변환이 안되어있음.
             2) 생성된 *.xml 파일의 내용이 사실상 텅 비어있음 (무조건 1kb에 가까운 저용량)

2. 원인 :  기존 서버(제로보드4 쓰던 서버)에 iconv 가 없어서 생기는 문제
    알고보니 제가 이전에 제로보드4를쓰던 웹호스팅사의 서버에서 iconv라는 것이 안깔려있었던 것입니다.
   전  iconv 이 뭔지는 잘 모르겠지만, php버전이 낮거나 업데이트가 늦은 서버의 경우 이런일이 있을수 있다고합니다.
   Call to undefined function:  iconv() 라는 메세지는 그래서 나온것이였죠

3. 대처법 :  
 *서버관리자에게 iconv 라이브러리를 설치해달라고 요청한다.
->관리자에 따라 귀찮아할수 있습니다^^; 설치가 늦어질수도 있죠 이 경우를 위해 2번째 방법을 소개~

 * 직접 설치한다 : 어렵지 않습니다. 용기를 갖고 try!
     1) 먼저 태터툴즈를 다운 받는다 ( http://www.textcube.org/download/   '텍스트큐브' 란 파일다운. 기본팩/확장팩 상관없음.
     2) 압축을 풀고 그 안에서 iconv.php 파일을 찾아서,
     3) 문제의 예전서버에 깔아놓았던 제로보드4 데이터 추출 프로그램의 lib 디렉토리에  iconv.php를 넣는다.
         (기본설정대로하면 zeroboard4/lib 디렉토리)
     4) 역시 lib 디렉토리에 있는 lib.php를 다운받아, 메모장으로 연다.
     5)  include "./lib/iconv.php";  를 윗부분에 있는 <?php  아래줄에 넣어준 후 저장한다.
        그후 저장한 lib.php파일을 다시 제로보드4 데이터 추출 프로그램의 lib 디렉토리에 업로드(덮어쓰기)
         보기 예)
=== lib.php 내용 ===
<?php

  include "./lib/iconv.php";

/**
    * @brief 제로보드4의 경로를 이용하여 DB정보를 얻어옴
    * @author zero@zeroboard.com
    **/
   function getDBInfo($path) {
       if(substr($path,-1)=='/') $path = substr($path, 0, strlen($path)-1);
       $config_file = sprintf('%s/config.php',$path);
       if(!file_exists($config_file)) return;

       $buff = file($config_file);

       $output->hostname = trim($buff[1]);
       $output->userid = trim($buff[2]);
       $output->password = trim($buff[3]);
       $output->database = trim($buff[4]);
       return $output;
   }

   /**
    * @brief javascript로 에러 메세지 출력
    **/
   function doError($message) {
       include "./tpl/header.php";
       printf('<script type="text/javascript">alert("%s"); location.href="./";</script>', $message);
       include "./tpl/footer.php";
       exit();
   }

?>



   ==============


  자, 이제   iconv 를 설치했으니 변환기의 설명대로 다시 처음부터 차근차근 변환하시면 됩니다^^
 노파심에 데이터이전 메뉴얼도 링크해놓아요 ^^    http://www.zeroboard.com/?mid=mig_manual&pageid=408648
이제 딱 이대로 하시면 xml파일이 제대로 만들어져서 각 파일의 용량이 게시판의 용량에따라  제각각인 것부터 알수 있습니다. (게시물이 많은 게시판변환시는 다운할때 시간이 걸리죠 ㅎㅎ)
 전 이대로 해서 완벽히 이전성공했네요. 다른분들도 무사히 하시기 바랍니다

 많은 도움주신 이창훈785 님과 제로님께 감사드립니다. (_ _)





이전: 솔라리스에서 ISO 이미지 파일 마운트하기
다음: bind 에서 최신 named.ca 가져오기 (named.hint 파일 만들기)
2008/03/22(05:19) from 59.30.129.28
CrazyWWWBoard 2000

Vote Reply Modify Forward Prev Next List

(c) Nobreak Technologies, Inc.