webwiz是一个基于ASP的论坛,由于此官方论坛已经停止维护,官方网站很长时间无法登录了,由于ASP的先天缺陷,而且正好PHPBB3也已经到RC1了,就决定把这个论坛进行转换。
1、实际情况
我们使用的WEBWIZ 7.9使用的是ACCESS数据库,并且在使用过程中有一定的修改,但我不清楚有哪些修改,因此,你的转换若有问题,也请反馈你的实际情况。
头像有三种,一种是系统提供的,在avatars目录下,另一种是用户上传的头像,放在uploads目录下,还有一种是HTTP连接,就是放在另外网站上的头像。
WEBWIZ的附件是直接存放在uploads目录下,但数据库里没有任何相关信息。
WEBWIZ的密码是采用了HASHEncode+Salt的加密算法,和SHA1类似,但不同。
2、转换程序
phpBB3只提供了从phpbb2的升级程序,在phpbb的官方论坛上搜索到了一个从webwiz到phpbb2的转换程序,但其转换的内容不完整,因此就决定自己写一个。而且PHPBB3现在已经采用了UTF8编码,要求数据库也要采用UTF8编码,MYSQL 4.1之后的程序也提供了UTF8编码。
首先需要转换ACCESS数据库到MYSQL,我前面有介绍过如何进行转换。
我是使用了knoda进行数据转换的,在ubuntu系统下,注意,转换好后,数据库是默认为UTF8编码的。
转换完后,导出mysql数据。
mysqldump --default-character-set=latin1 -uroot yourdb > yourdb.sql
要修改此SQL文件,使之成为UTF8编码。替换所有的latin1为utf8,并在文件的开始添加:
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;
然后转移到测试服务器上,并进行相应的导入工作。
在http://www.phpbb.com下载最新的phpbb3,根据安装提示,安装一个默认的空白的PHPBB3系统,假如你的数据库是phpbb。
并把webwiz论坛的所有文件拷贝到同一个服务器上,二者目录可以在一个层次。
如:
/var/www/phpbb
/var/www/webwiz
然后把我提供的转换程序拷贝到phpbb/install/convertors目录下,即convert_webwiz.php和functions_webwiz.php文件。
同时修改phpbb/includes/auth/auth_db.php文件,若你想让你的用户重新申请密码的话,也可以不修改这个文件。
// Check password ...
// added for webwiz conversion
// HashEncode is webwiz function.
global $phpbb_root_path, $phpEx;
require($phpbb_root_path . 'includes/functions-webwiz-hash.' . $phpEx);
if (!$row['user_pass_convert'] && (md5($password) == $row['user_password']
or HashEncode($password.$row['salt'])==$row['user_password']))
{
if (md5($password)!=$row['user_password'])
{
// Unconverted password
$sql = 'UPDATE ' . USERS_TABLE . '
SET user_password = "'.md5($password).'"
WHERE user_id = ' . $row['user_id'];
$db->sql_query($sql);
}if ($row['user_login_attempts'] != 0)
这个前面的$sql语句中要添加一个字段:salt。
若修改了此文件,还要拷贝functions-webwiz-hash.php到phpbb/includes/目录下。
然后就可以在PHPBB的安装界面那儿进行系统的转换了。
您好, 请问可以到phpbbchina上发布这个转换程序吗?
To IOsetting:
当然可以阿。
BTW:非常感谢你们提供的中文翻译。
Pingback: LiangXu Wang
Pingback: LiangXu Wang
有个老的WWF论坛7.7的版本ACCESS的
想转到VBB但是老乱码索性转到PHPBB
但是找不到你说的7.9能发我一个吗?
QQ 765452392
thanks man
哦原来是要把access转到mysql里啊,我是xp环境用因为找不到WWF7.9所以下了9.53用 mysql gui tools 转了过去,但是还是出错。
/var/www/phpbb
/var/www/webwiz
这里是要把wwf的mysql版放里面?不懂为什么要放这个。
出错啊,郁闷!
SQL ERROR [ mysqli ]
Unknown column ‘words.word_id’ in ‘order clause’ [1054]
SQL
SELECT tblSmut.ID_no, tblSmut.Smut, tblSmut.Word_replace FROM tblSmut ORDER BY words.word_id LIMIT 2000
BACKTRACE
注释掉了WORDS.WORD_ID
又有PM什么什么的错误也注释掉了
然后等了半天
SQL ERROR [ mysqli ]
Field ‘attach_comment’ doesn’t have a default value [1364]
SQL
insert into phpbb_attachments(post_msg_id,topic_id,poster_id,is_orphan,physical_filename, real_filename,extension,mimetype,filesize,filetime) values(0,0,124,1,”124_af57a4be0807f0f0a45819db47cf38e9″,”da1.jpg”,”jpg”,”",123144,1224458247)
BACKTRACE
疯了
经过使用,对这个转换程序有了一点点了解。
WWF目录放到跟目录目的是把附件都一起转过去,这个很不错。
WWF里没有words.word_id和privmsgs.privmsgs_id这两个表。
所以用tblSmut.ID_no替换words.word_id
用tblPMMessage.PM_ID替换privmsgs.privmsgs_id
但还是提示错误……i dont have idea
and 可能是我的附件目录有问题,所以转换一半就会Field ‘attach_comment’ doesn’t have a default value这样???梁旭同学请联系我,我需要您的帮助 QQ 765452392
哦,叫徐亮是吧,叫错名字不好意思,我怎么联系到你啊?
To tester4:
我的转换程序是针对WWF 7.9版本,你的版本和我的不一致,估计你需要修改代码,我手头也没有7.7版本。
BTW: 我的名字在TITLE里挂着呢。
7.7升级到7.9直接把7.9文件覆盖就可以了,数据库还是原来的没变啊,可以用。为什么会出错呢?能帮帮我吗?加我QQ吧!765452392
我是想说因为attachments附件这里出错,是否可以不导入附件呢?怎么修改
用的是PHPBB 3.0.2错误多多,PHPBB3.0 RC1 似乎不出错,转的特别快,但是用户都进不去,所以帖子内容不显示
帖子内容不显示,需要到后台重新修改论坛权限。
发现不是权限的事,用户没导入进来,发现最开始导入用户的时候出错。然后换PHPBB 3.0.2也出错了,彻底迷糊了!
functions_webwiz.php [ 295 ]:
Post ID: Message parser error:
Your message contains too few characters.
修改auth_db.php和functions-webwiz-hash.php用户就导入不进去
怎么设置不导入附件?
就是说可以不用把WEBWIZ目录放进去直接把数据库导入?
[phpBB Debug] PHP Notice: in file /install/convertors/functions_webwiz.php on line 54: rename(./../uploadsforum.meihua.info/uploads/31FA4_ranger.jpg,./../images/avatars/upload/545f6c0071a8045d31e979ccc7e758d2_322.jpg) [function.rename]: No such file or directory
[phpBB Debug] PHP Notice: in file /install/convertors/functions_webwiz.php on line 54: rename(./../uploads/USER/0.jpg,./../images/avatars/upload/545f6c0071a8045d31e979ccc7e758d2_501.jpg) [function.rename]: Invalid argument
[phpBB Debug] PHP Notice: in file /install/index.php on line 368: Cannot modify header information – headers already sent by (output started at /includes/functions.php:3661)
[phpBB Debug] PHP Notice: in file /install/index.php on line 369: Cannot modify header information – headers already sent by (output started at /includes/functions.php:3661)
[phpBB Debug] PHP Notice: in file /install/index.php on line 370: Cannot modify header information – headers already sent by (output started at /includes/functions.php:3661)
[phpBB Debug] PHP Notice: in file /install/index.php on line 371: Cannot modify header information – headers already sent by (output started at /includes/functions.php:3661)
不修改auth_db.php文件可以导入,但用户都登陆不上去了。
修改auth_db.php后用户导入不进去。老大帮我!
终于可以了,原来没那么复杂,是我自己把问题搞复杂了,哈哈!
感谢LZ了!请问这个转换后的论坛是否可以直接升级到3.0.2?
可以的