一、環境配置
選擇的服務器環境是WINXP+II5,首先請確保電腦上的IIS已經配置完成,并且IIS的主目錄指向D:WEB。
1、讓服務器支持PHP。我選擇的是php-4.3.11-Win32.zip
解壓縮PHP壓縮包到C:PHP(這個路徑可以隨意,不過以下要是用到這個路徑,請相應的修改)。
復制C:PHP目錄下的php4ts.dll及C:PHPdlls目錄下的所有文件到windows的c:windowssystem32文件夾里:
其中C:為你現在所使用的操作系統的系統盤,如果你目前操作系統不是安裝在C:windows下,請相應做出修改。
復制php.ini-dist到C:windows下,并將其改名為php.ini。然后用記事本打開,利用記事本的查找功能搜索 extension_dir = "./",并將其路徑指到你的 PHP 目錄下的 extensions 目錄,比如:extension_dir = "C:PHPextensions";再搜索 register_globals = Off,將 Off 改成 On,直接保存關閉 php.ini 即可。
2、讓服務器支持MYSQL。我選擇的是mysql-4.0.20d-win.zip
下載獲得Mysql的for win32安裝包后,用winzip解壓縮,直接運行setup.exe,需要注意的是選擇一個安裝路徑,當然,安裝路徑可以任意,建議選擇C:MySQL目錄。安裝完成后MySQL也就完成了。默認的用戶名是root,密碼為空。
進入C:mysqlbin,雙擊winmysqladmin.exe,就可以啟動MYSQL數據庫了(此時在系統托盤處可以看到
圖標)
3、讓IIS對PHP進行解析。
請按以下圖示操作




至此Discuz!論壇的運行環境就全部配置完畢了。
二、準備好待轉換的雷傲論壇程序
根據我的經驗是直接將雷傲論壇的全部文件下載下來,分為cgi-bin和non-cgi兩個文件夾,存放到D盤的LBBBS目錄下面。
三、配置LB2DZ轉換程序,開始轉換
轉換程序可以在Discuz!官方進行下載,
下載地址:http://www.discuz.net/thread-249700-1-1.html
配置轉換程序lb32discuz41.php
本地
//$lb_user = "D:/LBBBS/cgi-bin/members6VzyhOD9L/"; // LB的用戶資料絕對路徑, 最后不要遺漏"/"
//$lb_dir = "D:/LBBBS/cgi-bin/"; // LB 的絕對路徑, 最后不要遺漏"/"
//$lb_attach = "D:/LBBBS/non-cgi/usr/"; // LB 附件路徑, 最后不要遺漏"/"
//$lb_attach = "D:/WEB/discuz/attachments/LBuploads/"; ///LB附件移動到Discuz!4.1.0目錄中的位置,后面添加/
服務器
//$lb_user = " D:/LBBBS/cgi-bin/members6VzyhOD9L/"; // LB的用戶資料絕對路徑, 最后不要遺漏"/"
//$lb_dir = " D:/LBBBS/cgi-bin/";
//$lb_attach = "D:/WEB/discuz/attachments/LBuploads/"; // LB 附件路徑, 最后不要遺漏"/"
在本地安裝Discuz!4.1程序
安裝目錄設為D:WEBdiscuz,在瀏覽器目錄執行安裝程序install.php。
需要注意的是以下的設置:數據庫用戶名默認的root,數據庫密碼保留空(因為當初安裝的時候沒設密碼的哈),數據庫名稱就寫個test的吧。

然后一路下來就可以將Discuz!4.1安裝好。
開始進行數據的轉換工作
運行轉換程序lb32discuz41.php,如果一切順利,轉換程序將一直自動運行到結束。我在經過幾次轉換后,也總結了一些常見的問題和錯誤。
出現問題最多的就是在轉換用戶數據那步,經常因為用戶名有重復而導致進程的終止。
解決好了用戶數據轉換這步,其他步驟的轉換都是水到渠成的事情。
經過多次摸索,我采用了另外的一種轉換方式,首先將雷傲的用戶數據轉換成動網的,再使用動網轉DZ的程序,完整的把用戶數據轉換過來。經過多次實踐,這個方法能夠保證用戶數據最大程度的完整。
雷傲轉動網的程序可以到下面地址下載:
http://www.discuz.net/viewthread.php?tid=232205&extra=page%3D1%26filter%3Ddigest
轉換完成后,記得到后臺管理那更新各項統計信息。
同時記得把雷傲的所有附件移到D:/WEB/discuz/attachments/LBuploads/下
最后來完成對附件的關聯
升級數據庫,執行:
以下是代碼片段: SELECT MAX(tid) FROM cdb_threads; |
請在./include/discuzcode.func.php中找到
以下是代碼片段: for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) { $message = str_replace("[tDISCUZ_CODE_$it]", $discuzcodes['codehtml'][$i], $message); } |
上面加
以下是代碼片段: //LB轉換數據后專用 $tid是你主題的最大id global $fid,$tid; if ($tid < 11253) { $lbfilepath = './attachments/lbupfile/'; $message = preg_replace(array( "/[UploadFile=([^[]+?).(gif|jpg|png|bmp|jpeg)]/ies", "/[UploadFile=(.*)]/ies"), array( "bbcodeurl('\1', '<center><img src="".$lbfilepath.$fid."/\1.\2" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'Click here to open new window\';}" onmouseover="if(this.resized) this.style.cursor=\'hand\';" onclick="if(this.resized) {window.open(\'%s\');} "></center><br>')", "bbcodeurl('\1', '【<a href="".$lbfilepath.$fid."/\1" target="_blank" style="color:#0000FF;font-weight:bold">點擊下載文件</a>】')"), $message); } unset($fid,$tid,$lbfilepath); //LB轉換數據后專用
|
四、完成轉換工作
注意:刪除轉換程序lb32discuz41.php