不再使用mysql驱动,只使用mysqli
2020-7-8 10:30 来自 admin 发布@ Discuz! X3.5专区
一、mysql与mysqli的概念相关:
mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库
二、mysql与mysqli的区别:
mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
mysql与mysqli都是php方面的函数集,与mysql数据库关联不大。在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库
二、mysql与mysqli的区别:
mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
X3.5将支持多个IP地址库
2020-7-8 10:27 来自 admin 发布@ Discuz! X3.5专区
X3.5将支持多个IP地址库,通过配置文件中的以下配置项进行选择:
$_config = ''; // 系统使用的全栈IP库,优先级最高$_config = ''; // 系统使用的默认IP库,优先级最低$_config = 'tiny'; // 系统使用的默认IPv4库,留空为使用默认库$_config = 'v6wry'; // 系统使用的默认IPv6库,留空为使用默认库 地址库对应的class为 ip_<地址库名称> ,位于 source/class/ip 下面。系统会根据配置自动加载相应的class,相应的class也可以有自己的配置项,其规则为:
* $_config下除setting外均可用作自定义扩展IP库设置选项 * 扩展IP库的设置,请
$_config = ''; // 系统使用的全栈IP库,优先级最高$_config = ''; // 系统使用的默认IP库,优先级最低$_config = 'tiny'; // 系统使用的默认IPv4库,留空为使用默认库$_config = 'v6wry'; // 系统使用的默认IPv6库,留空为使用默认库 地址库对应的class为 ip_<地址库名称> ,位于 source/class/ip 下面。系统会根据配置自动加载相应的class,相应的class也可以有自己的配置项,其规则为:
* $_config下除setting外均可用作自定义扩展IP库设置选项 * 扩展IP库的设置,请
HTTPS兼容性优化
2020-7-8 10:26 来自 admin 发布@ Discuz! X3.5专区
HTTPS已被越来越多的站点采用,在早期我们已经对Discuz!追加了HTTPS的支持,但仍然有部分细节处可能存在遗漏,本次更新,将优化HTTPS的兼容性,将注入子版块图标、支付宝回调等细节处的HTTPS支持优化完善。
新增用户分表还原功能
2020-7-8 10:26 来自 admin 发布@ Discuz! X3.5专区
用户分表是Discuz!先前版本推出的一个功能,对于用户量大的站点颇有作用,但也存在中小站点站长误操作后带来一定不便的情况存在,X3.5将新增用户分表还原功能、降低用户分表功能推荐度、限制最后一个用户不能转出。
新增公安联网备案信息设置与展示
2020-7-8 10:21 来自 admin 发布@ Discuz! X3.5专区
适应新的监管要求,增加公安联网备案信息设置与展示
公安联网备案:http://www.beian.gov.cn/
公安联网备案:http://www.beian.gov.cn/
完善MySQL 8的支持
2020-7-8 10:17 来自 admin 发布@ Discuz! X3.5专区
随着时代的发展,数据库版本也已经发展到了8.x,并在性能和支持度上越来越优秀,Discuz!自然也要跟上时代的步伐,完善对MySQL 8的支持。
X3.5将对取消数据库UTF8编码的支持,转为UTF8-mb4编码
2020-7-8 10:16 来自 admin 发布@ Discuz! X3.5专区
X3.5版本,支持InnoDB与MyISAM两种数据库引擎,在两种引擎下数据库都不再支持utf8编码,转而支持utf8mb4编码。
无论是InnoDB还是MyISAM,所有的表都使用utf8mb4编码与utf8mb4_unicode_ci,该编码的支持,将直接导致X3.5支持emoj表情。
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符
无论是InnoDB还是MyISAM,所有的表都使用utf8mb4编码与utf8mb4_unicode_ci,该编码的支持,将直接导致X3.5支持emoj表情。
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符
Redis缓存改进
2020-7-8 10:13 来自 admin 发布@ Discuz! X3.5专区
X3.5非常大的增强了对Redis缓存的支持,在使用了Redis的情况下,完全消除了对内存表的使用。包括:
所有的原session内存表相关的功能,全部由Redis实现setting不再一次性加载,而是分批按需加载对IP封禁的检测结果进行缓存
推荐所有的站配置并启用Redis缓存。
由于memcached的功能限制,以上的增强对memcached无效。
所有的原session内存表相关的功能,全部由Redis实现setting不再一次性加载,而是分批按需加载对IP封禁的检测结果进行缓存
推荐所有的站配置并启用Redis缓存。
由于memcached的功能限制,以上的增强对memcached无效。
社区HTML5上传取代原有的Flash上传
2020-7-8 10:09 来自 admin 发布@ Discuz! X3.5专区
这是一个已经被X3.4同步发布的功能,随着移动互联网的进一步普及,FLASH的支持度不断降低,原来的flash上传越来越不适应当前的时代,我们在X3.4的更新中,已经集成了对H5上传的支持,当然地,此支持也将在X3.5保留。
支持包括社区在内在所有功能开关
2020-7-8 10:09 来自 admin 发布@ Discuz! X3.5专区
X3.5现在支持几乎所有功能的开关,管理员甚至可以关闭社区,只使用门户。
考虑到目前用户对站点自定义需求越来越多,同时行业监管政策也日趋严格,因此程序内的部分模块可能因不再运营或监管政策变化导致相关内容不适宜对外展示。同时多余的对外展示的模块也有可能被黑色产业链利用,从而实现发广告等不合规行为( 如广播功能被利用从而骚扰用户 ),因此实现此类开关是有必要的。
本次支持的关闭功能有: 社区(新增) 、门户、群组、广播、淘帖、导读、动态、 好友(新增) 、日志、相册、分享、记录、留言板(原生支持)、排行榜(改为统一开关)、勋章(改为统一开关)、任务(改为统一开关)、道具(改为统一开关)、 收藏(新增) 。
不向前兼容的变动:废弃了setting、setting,统一由setting控制排行榜功能,setting控制站点任务开启/关闭。
另外为避免部分功能模块未判定自身状态和可用功能导致未知问题和安全风
考虑到目前用户对站点自定义需求越来越多,同时行业监管政策也日趋严格,因此程序内的部分模块可能因不再运营或监管政策变化导致相关内容不适宜对外展示。同时多余的对外展示的模块也有可能被黑色产业链利用,从而实现发广告等不合规行为( 如广播功能被利用从而骚扰用户 ),因此实现此类开关是有必要的。
本次支持的关闭功能有: 社区(新增) 、门户、群组、广播、淘帖、导读、动态、 好友(新增) 、日志、相册、分享、记录、留言板(原生支持)、排行榜(改为统一开关)、勋章(改为统一开关)、任务(改为统一开关)、道具(改为统一开关)、 收藏(新增) 。
不向前兼容的变动:废弃了setting、setting,统一由setting控制排行榜功能,setting控制站点任务开启/关闭。
另外为避免部分功能模块未判定自身状态和可用功能导致未知问题和安全风
新增UCenter用户更名接口、记录、更名卡道具和后台更名入口
2020-7-8 10:08 来自 admin 发布@ Discuz! X3.5专区
以往需要更改用户名,我们需要到后台进入UCenter进行操作,现在,X3.5将新增 UCenter用户更名接口、用户更名记录,结合应用中心的更名应用,将更好地提供更改用户名的功能,同时,X3.5也新增了前台更名卡道具和社区后台更名入口,让更改用户名变得不再难。
X3.5将支持IPv6
2020-7-7 09:57 来自 admin 发布@ Discuz! X3.5专区
Discuz! X3.5将全面开启对IPv6的支持,原有的IPv4即将耗尽,IPv6已经越来越多的普及到生活的各个领域,移动网络对IPv6的支持也已经基本普及。虽然在Web领域IPv6由于各种原因尚未普及支持,但未来IPv6深化到各个领域是必然的,我们放眼于未来,做好前瞻性支持,对站长未来的建站需求提前布局,将带领站长们使用Discuz!提前跑赢下一个十年。
为支持IPv6,X3.5在IP地址库、IP封禁、IP地址获取等技术层面都进行了大幅度的代码更新。
为支持IPv6,X3.5在IP地址库、IP封禁、IP地址获取等技术层面都进行了大幅度的代码更新。
强烈请求DZ把编辑器升级一下吧
2020-7-7 09:04 来自 admin 发布@ Discuz! X3.5专区
今年是2020年,DZ的编辑器不说是化石级别,至少也算是出土文物了。
用现成的ueditor就好了,强大好用。
另外,建议增加单页功能。
用现成的ueditor就好了,强大好用。
另外,建议增加单页功能。
IP封禁方式的改变
2020-7-6 08:47 来自 admin 发布@ Discuz! X3.5专区
现在IP地址封禁,不再使用 * 作为通配符,而是使用子网掩码(CIDR)的方式来指定要封禁的地址范围。
IP封禁的配置,现在保存在pre_common_banned表中,每次用户访问的时候,都会触发检查。现在的检查效率较高,每次只会产生一个带索引的SQL查询(基于VARBINARY类型的大小比较)。对于一般的站点性能不会带来问题。另外可以启用Redis缓存,来进一步提高性能。另外还有一个配置项可关闭此功能,使用外部的防火墙等来进行IP封禁管理:
$_config = 1; // 是否开启允许/禁止IP功能,高负载站点可以将此功能疏解至HTTP Server/CDN/SLB/WAF上,降低服务器压力
IP封禁的配置,现在保存在pre_common_banned表中,每次用户访问的时候,都会触发检查。现在的检查效率较高,每次只会产生一个带索引的SQL查询(基于VARBINARY类型的大小比较)。对于一般的站点性能不会带来问题。另外可以启用Redis缓存,来进一步提高性能。另外还有一个配置项可关闭此功能,使用外部的防火墙等来进行IP封禁管理:
$_config = 1; // 是否开启允许/禁止IP功能,高负载站点可以将此功能疏解至HTTP Server/CDN/SLB/WAF上,降低服务器压力