论坛升级:Discuz 5.0 到 Discuz 5.5的升级之路(一) 论坛升级:Discuz 5.0 到 Discuz 5.5的升级之路(三)
三月 15

整个Discuz 5.0 到 Discuz 5.5的升级过程还是比较平滑的,可是还是多少遇到了点小问题,解决起来倒不是很难。我还是就在这里总结一下我所遇到的问题,也算是留下一个记录吧。


Discuz 5.0 到 Discuz 5.5升级FAQ:

  • Q:普通用户无法编辑自己的帖子
    A:这是因为
    • discuz 5.5升级之后多了个用户在多久的时间内才可以编辑自己的帖子的选项,而升级程序忘记添加默认值了。
    • discuz 5.5的论坛设置里面增加了一项选择:是否允许用户修改本版块发表的帖子。

    解决方法:

    1. 进入discuz 5.5的管理后台:基本设置-->用户权限-->编辑帖子时间限制(分钟):
      请根据你自己论坛的情况设置一下。
    2. 设置你认为可以让用户修改帖子的版块的论坛设置。
      当然了,如果你觉得所有的版块都要允许用户修改用户自己发表的帖子的话,而又嫌一个个版块修改过去太麻烦,可以进入mysql后台执行以下sql语句:

      1. UPDATE `cdb_forums` SET `alloweditpost` = '1';
  • Q:论坛设置了Url静态化之后,用户的mini space无法访问
    A:这是因为discuz 5.5忘记增加mini space的rewrite规则导致
    解决方法:修改.htaccess,增加一条rewrite规则:

    1. RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
  • Q:如果很不幸的你跟我一样,喜欢给论坛用的mysql库起一个带破折号或者是什么特殊符号名字的兄弟,很有可能你在新安装论坛的时候会遇到如下的错误:
    database_errno_xxxx
    然后就无法继续安装了。
    A:这个是因为discuz 5.5的安装脚本install.php对特殊名字的数据库名字没有加上"进行限定造成的。
    解决方法:找到install.php中以下两行

    1. if(mysql_get_server_info() > '4.1') {
    2.                     mysql_query("CREATE DATABASE IF NOT EXISTS $dbname DEFAULT CHARACTER SET $dbcharset");
    3.                 } else {
    4.                     mysql_query("CREATE DATABASE IF NOT EXISTS $dbname");
    5.                 }

    将之修改为

    1. if(mysql_get_server_info() > '4.1') {
    2.                     mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname` DEFAULT CHARACTER SET $dbcharset");
    3.                 } else {
    4.                     mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname`");
    5.                 }

    然后重新运行install.php安装脚本即可

评论:其实这些东西在discuz的官方论坛上都有总结出来,修改也是很简单的事情,不知道为什么discuz的开发团队在放出来的discuz 5.5的正式版本里面没有修正这些小问题??看来我得回收对discuz开发团队的赞扬了!

One Response to “论坛升级:Discuz 5.0 到 Discuz 5.5的升级之路(二)”

  1. 论坛升级:Discuz 5.0 到 Discuz 5.5的升级之路(三) at Coolzsb的杂货铺子 Says:

    [...] 有关于本页面 « 论坛升级:discuz 5.0 到 discuz 5.5的升级之路(二) [...]

Leave a Reply