|
|
推荐

楼主 |
发表于 2018-5-21 00:50:34
|
只看该作者
提供补丁文件下载,只要把补丁包文件放入官方原版文件2018.01.01版对应文件夹替换即可正常安装。
patch支持mysql8.zip
(27.18 KB, 下载次数: 84)
也可以自己去修改原版文件
解决思路:其实很简单,就是给 admin rank system groups 这四个字段名加反引号(键盘左上角ESC键下方的` 这个键),不改动其他任何东西。
centos 7.5 shell命令行 文件批量替换:
如当前目录是网站的wwwroot
[root@t6 wwwroot]# pwd
/home/bbs/wwwroot
执行以下 shell 命令就可完成相关文件替换:- sed -ri 's/ {2}([a-z0-9_]+)/ `\1`/g' install/data/install.sql uc_server/install/uc.sql
- sed -i 's/[^\`]\<\(rank\)\>/`\1`/g' source/class/table/table_forum_forum.php
- sed -i 's/[^\`]\<\(system\)\>/`\1`/g' source/class/table/table_common_usergroup.php
- sed -i 's/[^\`]\<\(groups\)\>/`\1`/g' source/class/table/table_forum_announcement.php
复制代码
------------------------------------------------------
下面是说明具体修改的内容,仅供参考。
1.
install/data/install.sql
uc_server/install/uc.sql
凡行首出现 admin groups system rank 有关的加`` 反引号,也可以将所有的字段名加`号。
2 ./source/class/table/table_forum_forum.php:
查找 - DB::query("UPDATE ".DB::table($this->_table).' SET oldrank=rank,yesterdayposts=todayposts');
复制代码
修改为:- DB::query("UPDATE ".DB::table($this->_table).' SET oldrank=`rank`,yesterdayposts=todayposts');
复制代码
3 ./source/class/table/table_common_usergroup.php:
查找
- return DB::fetch_all('SELECT * FROM %t WHERE (type=\'special\' AND system<>\'private\' AND radminid=\'0\') OR groupid IN (%n) ORDER BY type, system', array($this->_table, $ids), $this->_pk);
复制代码
修改为:
- return DB::fetch_all('SELECT * FROM %t WHERE (type=\'special\' AND `system`<>\'private\' AND radminid=\'0\') OR groupid IN (%n) ORDER BY type, `system`', array($this->_table, $ids), $this->_pk);
复制代码
4 ./source/class/table/table_forum_announcement.php:
查找 - return DB::fetch_first('SELECT * FROM %t WHERE type!=2 AND groups = \'\' AND starttime<=%d AND (endtime>=%d OR endtime=0) ORDER BY displayorder, starttime DESC, id DESC LIMIT 1', array($this->_table, $timestamp, $timestamp));
复制代码
修改为:- return DB::fetch_first('SELECT * FROM %t WHERE type!=2 AND `groups` = \'\' AND starttime<=%d AND (endtime>=%d OR endtime=0) ORDER BY displayorder, starttime DESC, id DESC LIMIT 1', array($this->_table, $timestamp, $timestamp));
复制代码
目前尚未做完整测试,其他问题待发现。 |
评分
-
查看全部评分
|