动网论坛8.3版推出将近一年,感觉现在的版本应该很稳定,于是把原来8.2版升级到8.3版。本以为很简单的事情,没想到还是遇到几个小问题。下面按升级说明的步骤一步一步操作:
1、备份8.2版的所有文件。这一步一定要做,万一升级失败,还能回复原有的8.2版论坛。
2、到动网官方下载8.3版升级程序和论坛程序。按升级说明的要求,新建一个空目录bbs2,把8.2版目录下的Data、UploadFace、UploadFile、PreviewImage四个目录移动到新建的bbs2中。
3、这里遇到了问题。升级说明中说“将本升级压缩包中的update文件夹上传到该目录下”,但是找遍了升级压缩包也没找到update,后来明白是升级说明有错误。因为升级压缩包制作的时候没有将update目录一起压缩进去,所以正确的做法应该是在bbs2下面新建update目录,然后将压缩包里面的所有文件解压到update中。然后把8.2版的数据库文件复制到update/data中。
4、在浏览器理运行http://<网址>/bb2/Update/update.asp,启动数据库升级程序。
5、这里又遇到了问题。开始数据库升级后提示“新建 Dv_Badlanguage 表错误,原因不能修改表 'Dv_Badlanguage' 的设计。它在只读数据库中。”这个好办,在服务器上把需要升级的数据库文件加上Internet来宾帐户的写入和修改权限。再次运行升级程序一切顺利,成功升级到8.3版。
6、升级时已选中清理缓存,这一步可以跳过。
7、把下载的8.3版论坛程序解压到bbs2中。
8、把升级好的数据库移动到8.3版的data目录中。
9、修改bbs2目录下的Conn.asp文件,确保正确连接数据库。
10、删除已经无用的update目录。
11、因为还整合了博客程序,另外需要设置Dv_dpo\Api_Config.asp文件。按以前8.2版的内容设置就行。
到这里官方升级说明的内容全部完成,开始感受8.3版吧。
首先登录论坛,咦!登录竟然有问题,提示“Response 对象 错误 'ASP 0156 : 80004005'”。赶快Google一下,发现已经有答案,原来是login.asp中的一个小bug。找到login.asp中的以下内容:
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
If DvApi_Enable Then
Response.Write DvApi_SaveCookie
Response.Flush
End If
'-----------------------------------------------------------------
TempStr = Replace(TempStr,"{$ray_logininfo}","")
TempStr = Replace(TempStr,"{$comeurl}",comeurl)
TempStr = Replace(TempStr,"{$comeurlinfo}",comeurlname)
TempStr = Replace(TempStr,"{$forumname}",Dvbbs.Forum_Info(0))
Session.Contents.Remove("xcount")
If Not ajaxPro And DvApi_Enable Then'非ajax
Response.Write TempStr
ElseIf Not ajaxPro And Not DvApi_Enable Then
Response.Redirect(comeurl)
Else
Response.Cookies("count")=""'o(清空ajax里写入的cookies)
strString(comeurl&"@@@@1")'o
End If
修改为:
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
If DvApi_Enable Then
Response.Write DvApi_SaveCookie
End If
'-----------------------------------------------------------------
TempStr = Replace(TempStr,"{$ray_logininfo}","")
TempStr = Replace(TempStr,"{$comeurl}",comeurl)
TempStr = Replace(TempStr,"{$comeurlinfo}",comeurlname)
TempStr = Replace(TempStr,"{$forumname}",Dvbbs.Forum_Info(0))
Session.Contents.Remove("xcount")
If Not ajaxPro And DvApi_Enable Then'非ajax
Response.Write TempStr
ElseIf Not ajaxPro And Not DvApi_Enable Then
Response.Redirect(comeurl)
Else
Response.Cookies("count")=""'o(清空ajax里写入的cookies)
strString(comeurl&"@@@@1")'o
End If
Response.Flush
这里其实就是把Response.Flush换个位置。退出再登录论坛果然正常。
新版的界面看起来就是舒服,四格调用、最新帖子、热门帖子,精华帖子一应俱全。等等,精华帖子怎么是空的,记得明明有精华帖子呀。这难不倒咱们,有Google呢。再次Google,这个也早就有解。原来是管理后台的自定义标签有问题,赶快登录后台。后台!后台!后台打不开!?有点慌。只能再Google看看,原来很是动网为了保证后台的安全,把后台Admin目录改为Admin_<管理员用户名>的形式。到服务器上修改后台Admin目录后就能正常打开。哈哈!久违的后台终于见面了。进入帖子管理下面的自定义标签管理,修改Dv标签下的besttopic.tpl标签。选中仅精华主题,时间范围改为1年,保存。再次遇到只读错误,提示Resource及下级目录为只读。老办法,到服务器上给Resource加上Internet来宾帐户的写入和修改权限。再修改,保存。刷新论坛缓存后,首页的精华帖子终于露脸。
至此,动网论坛8.2版成功升级到8.3版。