已批准或很大概率包含的主要特性
1️⃣ Randomizer
增强
Random
扩展继续增强,增加更多可插拔的伪随机数生成器(PRNG),支持更强的可复现性,提升密码学随机数安全性。
PHP 8.2 引入 Random\Engine
和 Randomizer
,8.6 会再补强接口和性能。
2️⃣ array_is_list()
性能与新用法
array_is_list()
(PHP 8.1 引入)在 8.6 有可能支持对嵌套数组做快速检测,方便泛型容器库开发者。
3️⃣ #[\Override]
更严格
PHP 8.3 引入了 #[\Override]
属性用于标记一个方法必须覆盖父类/接口中已声明的方法,8.6 会对 trait 中的覆盖做更完善的检查。
4️⃣ gc_status()
垃圾回收(GC)状态查询将更标准化,gc_status()
返回更多可用信息,方便调试和性能分析。
5️⃣ 反射 API 小幅增强
Reflection 对 readonly
、enum
、intersection types
、disjunctive normal form types
等会有更多可编程支持。
6️⃣ 新增几个弃用(为 PHP 9 做准备)
- mbstring、iconv 的一些重复或危险的 legacy 函数会开始触发 E_DEPRECATED。
- 动态属性写入会触发更显式的警告(8.2 已有,只是会更严格)。
- 隐式可选参数将被更强提示。
7️⃣ FFI(外部函数接口)小幅增强
继续增强 FFI
(调用 C 语言库),如更好的 union / struct 对齐支持。
8️⃣ 错误消息更可配置
有讨论要支持更细粒度的错误提示分组,让 php.ini
可以自定义哪些 E_DEPRECATED
可升级为 E_ERROR
。
⚡ 性能改进(JIT & OPCache)
PHP 8.6 不会引入新的 JIT 模式,但会继续优化:
- OPCache 更智能的缓存失效策略;
- JIT 下部分内置函数内联更彻底;
- 小函数链调用可自动 inline;
- 引入更多编译期 AST 检查。