互联网 频道

从雷傲论坛转换到Discuz!论坛

    【IT168 实用技巧】Discuz!是非常知名的论坛系统,今天我们介绍一下从雷傲论坛转换到Discuz!论坛的方法。

相关精彩文章
零起步教你搭建Discuz!4.1论坛(图)
免费了 著名论坛程序Discuz!回馈用户

    一、环境配置

    选择的服务器环境是WINXP+II5,首先请确保电脑上的IIS已经配置完成,并且IIS的主目录指向D:\WEB。

    1、让服务器支持PHP。我选择的是php-4.3.11-Win32.zip

    解压缩PHP压缩包到C:\PHP(这个路径可以随意,不过以下要是用到这个路径,请相应的修改)。

    复制C:\PHP目录下的php4ts.dll及C:\PHP\dlls目录下的所有文件到windows的c:\windows\system32文件夹里:

    其中C:为你现在所使用的操作系统的系统盘,如果你目前操作系统不是安装在C:\windows下,请相应做出修改。

    复制php.ini-dist到C:\windows下,并将其改名为php.ini。然后用记事本打开,利用记事本的查找功能搜索 extension_dir = "./",并将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\PHP\extensions";再搜索 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:\mysql\bin\,双击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:\WEB\discuz,在浏览器目录执行安装程序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_$i\t]", $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

 中关于“编程开发”的问题及解答>>>

0
相关文章