Discuz! X3.5论坛程序相较Discuz! X3.4功能更新详解[Discuz! X3.5新版特性一览]
Discuz! X3.5 在继承和完善 Discuz! X3.4 宗旨的基础上, Discuz! 社区以“不忘初心”为主线,针对“系统安全”、“IPv6”、“运营拓展”、“负载性能”、“用户体验”和“管理体验”几大方面,全面优化和打造,功能改进多项。 Discuz! X3.5 论坛程序相较 X3.4 功能更新内容如下: 1、更新数据库编码 Discuz! X3.5 版本,数据库支持InnoDB与MyISAM两种数据库引擎,在两种引擎下数据库都不再支持utf8编码,转而支持utf8mb4编码。全新安装 Discuz! X3.5 无需额外操作。但是目前存量的 Discuz! X3.4 程序在升级 Discuz! X3.5 时,升级程序会针对GBK、UTF-8等编码进行转码。 Discuz! X3.5 在条件允许的情况下推荐数据库使用InnoDB 存储引擎,及采用 utf8mb4_unicode_ci 编码。 2、UCenter 1.7.0 将 UCenter 1.6.0 升级为 UCenter 1.7.0 版本,UCenter 1.7.0 版本在继承和完善先前产品宗旨的基础上,针对“系统安全”、“IPv6”、“用户体验”和“管理体验”几大方面,对程序进行了全面优化和打造,功能改进多达 1 余项。 UCenter拥有机制完善的接口,经过简单修改便可以挂接其它任何平台的第三方的网络应用程序,实现用户的一站式登录以及社区其他数据的交互。 3、全新设计手机版 Discuz! X3.5 手机版采用了全新设计,基础色为蓝色,并设有底部菜单栏,默认包括“导读、论坛、发帖、发现、我的”五个主菜单。针对手机用户更加友好,使用体验相较 Discuz! X3.4 有很大的提升。 4、缓存 Discuz! X3.5 非常大的增强了对Redis缓存的支持,在使用了Redis的情况下,完全消除了对内存表的使用。包括: 所有的原session内存表相关的功能,全部由Redis实现 setting不再一次性加载,而是分批按需加载 对IP封禁的检测结果进行缓存 推荐所有的站配置并启用Redis缓存。 由于memcached的功能限制,以上的增强对memcached无效。 提示:由于 PHP 认为实现了 ArrayAccess 接口的对象并非完全等同于数组,因此原有依赖 array_key_exists 的插件或二次开发站点应取消对其的依赖。 5、 IP相关变更 在3.5版本中,为了支持IPv6,做了以下变更: 1)IP地址库 系统现在支持多个地址库,通过配置文件中的配置项进行选择。 地址库对应的class为 ip_<地址库名称> ,位于 source/class/ip 下面。系统会根据配置自动加载相应的class,相应的class也可以有自己的配置项。目前系统现在内置一个IPv4库,一个IPv6库 2)IP封禁 现在IP地址封禁,不再使用 * 作为通配符,而是使用子网掩码(CIDR)的方式来指定要封禁的地址范围。 IP封禁的配置,现在保存在pre_common_banned表中,每次用户访问的时候,都会触发检查。现在的检查效率较高,每次只会产生一个带索引的SQL查询(基于VARBINARY类型的大小比较)。对于一般的站点性能不会带来问题。另外可以启用Redis缓存,来进一步提高性能。另外还有一个配置项可关闭此功能,使用外部的防火墙等来进行IP封禁管理,高负载站点可以将此功能疏解至HTTP Server/CDN/SLB/WAF上,降低服务器压力。 3)IP地址获取 IP地址获取,现在默认只信任REMOTE_ADDR,其它的因为太容易仿造,默认禁止。获取的方式也可以扩展,在配置文件中增加了相关配置项。 6、所有站点功能模块支持关闭、开启 Discuz! X3.5 对站点功能开关功能进行了优化,现在支持几乎所有功能的开关,管理员甚至可以关闭论坛,只使用门户。当 Discuz! X3.5 升级完成后将为您打开站点所有功能,请在升级完成后自行评估您站点运营具体需要开启的功能,并根据站点运营需求关闭不需要的功能。 7、Discuz! X3.5 其他功能性更新 1)Discuz! X3.5 更新了 IP 黑名单存储方式 由于 Discuz! X3.5 更新了 IP 黑名单存储方式,因此对于系统内当前批量封禁的 IP 地址,只支持 IPv4 地址规则,且地址掩码为 8 的整数倍且不大于 32 的存量数据,数据库内原有数据将自动删除。建议您在升级前导出原规则,如有需要请在升级后按新系统规则重新配置。 2)Discuz! X3.5 对 Session 、 IP 黑名单功能进行了优化 由于 Discuz! X3.5 对 Session 、 IP 黑名单功能进行了优化,此类优化由于依赖部分高级特性,因此不支持除 Redis 外的其它内存缓存库。因此如果您的站点流量较大,建议您卸载原有内存缓存库,更换内存缓存库为 Redis ,这样可以最大程度的优化您站点的运行速度,并且不依赖数据库内的 HEAP 表。 3)Discuz! X3.5 对站点功能开关功能进行了优化 由于 Discuz! X3.5 对站点功能开关功能进行了优化,升级完成后将为您打开站点所有功能,请在升级完成后自行评估您站点运营具体需要开启的功能,并根据站点运营需求关闭不需要的功能。 4)Discuz! X3.5 更新了数据库编码和默认模板 由于 Discuz! X3.5 更新了数据库编码和默认模板,升级程序会将程序数据表和插件数据表转换至 utf8mb4 ,并试图对您的插件文件进行转码,同时在升级完成后将关闭所有非系统插件并恢复默认风格。请您在升级完成后对您的插件进行验证,对于多数插件、模板而言,在转换之后可在 utf8mb4 环境下继续运行或进行少量改造后继续运行,少量插件、模板可能需要自行对文件做转码,甚至进行一定程度的改造才能够正常在 Discuz! X3.5 上运行。 5)IPv6 / PHP 8 支持。 6)emoji 表情支持。 7)新支付平台(支付宝/微信/QQ钱包) 8)新的前端扁平化样式以及 1200px 默认宽度等等。 9)增加了一个测试框架,可在后台运行,代码位于 upload/tests 下,测试用例可在 upload/tests/class 下添加。欢迎大家通过Pull Request提交测试用例。 10)修改了安装程序最后一步的日志输出方式,现在整个创建数据库的过程日志都可实时显示。 11)不再使用mysql驱动,只使用mysqli。 12)内置了function_debug.php文件,通过 $_config['debug'] = 1 打开。 8、Discuz! X3.5 最低运行环境要求 安全提示:我们强烈建议您使用仍在开发团队支持期内的操作系统、Web服务器、PHP、数据库、内存缓存等软件,超出支持期的软件可能会对您的站点带来未知的安全隐患。 性能提示:当 MySQL < 5.7 或 MariaDB < 10.2 时, InnoDB 性能下降较为严重,因此在生产系统上运行的站点应升级版本至 MySQL >= 5.7 或 MariaDB >= 10.2 以避免此问题。 软件名称最低要求推荐版本其他事项 PHP>= 5.6.07.3 - 8.1依赖 XML 扩展、 JSON 扩展、 GD 扩展 >= 1.0 ,PHP 8.0 - 8.1 为测试性支持 MySQL>= 5.5.35.7 - 8.0如使用 MariaDB ,推荐版本为 >= 10.2 |