DISCUZ!4.0.0 BUG报告
本人在本地进行论坛转换过程中发现12月12日发布的DISCUZ!4.0.0版本
在数据库备份方面存在一定的疏漏:
描述:
在后台的数据库→资料备份中
数据备份类型中选择全部备份,数据备份方式中选择DISCUZ!分卷备份所生成的备份,经过异地(上传到服务器)恢复备份的时候,发现恢复的数据表只有51个,而不是本地数据库中的53个,
缺少了’cdb_advertisements’和’cdb_orders’这两个数据表。
可能造成的危害:
1.后台广告数据的丢失
2.更新缓存出错
3.新注册用户出错
4.用户组管理出错
BUG解决方式:
1.登陆服务器上的PhpMyAdmin对于数据库进行备份和恢复操作。
2.修改论坛程序:
打开admin/ database.inc.php文件
找到: if($type == 'full') {
$tables = array('access', 'adminactions', 'admingroups', 'adminnotes', 'adminsessions', 'announcements',
'attachments', 'attachtypes', 'banned', 'bbcodes', 'blogcaches', 'buddys', 'creditslog', 'failedlogins',
'favorites', 'forumfields', 'forumlinks', 'forums', 'medals', 'memberfields', 'members', 'moderators',
'onlinelist', 'onlinetime', 'paymentlog', 'plugins', 'pluginvars', 'pms', 'polls', 'posts', 'profilefields',
'ranks', 'ratelog', 'regips', 'rsscaches', 'searchindex', 'sessions', 'settings', 'smilies', 'stats',
'statvars', 'styles', 'stylevars', 'subscriptions', 'templates', 'threads', 'threadsmod', 'threadtypes',
'usergroups', 'validating', 'words');
替换为 if($type == 'full') {
$tables = array('access', 'adminactions', 'admingroups', 'adminnotes', 'adminsessions','advertisements', 'announcements',
'attachments', 'attachtypes', 'banned', 'bbcodes', 'blogcaches', 'buddys', 'creditslog', 'failedlogins',
'favorites', 'forumfields', 'forumlinks', 'forums', 'medals', 'memberfields', 'members', 'moderators',
'onlinelist', 'onlinetime','orders', 'paymentlog', 'plugins', 'pluginvars', 'pms', 'polls', 'posts', 'profilefields',
'ranks', 'ratelog', 'regips', 'rsscaches', 'searchindex', 'sessions', 'settings', 'smilies', 'stats',
'statvars', 'styles', 'stylevars', 'subscriptions', 'templates', 'threads', 'threadsmod', 'threadtypes',
'usergroups', 'validating', 'words');
声明:以上解决方式并没有通过DISCUZ!官方的认可和同意,如果出现什么问题,本人不负任何责任!仅作为免费用户之间以及与官方人员的交流!
同时感谢和拥护大C对于DISCUZ!开源免费的决定!
我们将会更好的支持你! |