php 8.6 的发布周期已经进入第二个公开测试节点。php 官方网站 2026 年 7 月 16 日发布公告,宣布 php 8.6.0 alpha 2 可供测试,并把它定位为 php 8.6 发布周期中的第二个测试版本。官方同时提醒,alpha 2 仍属于早期测试版本,不应部署到生产环境;开发者若在库、框架或业务应用中发现问题,应通过 php-src 的 github issues 反馈。

从时间表看,PHP 8.6 还没有进入功能冻结后的稳定测试阶段。PHP Wiki 的 PHP 8.6 计划页显示,Alpha 1 已在 2026 年 7 月 2 日发布,Alpha 2 已在 7 月 16 日发布,Alpha 3 计划在 7 月 30 日发布;软功能冻结安排在 8 月 11 日,Beta 1 计划在 8 月 13 日,RC1 计划在 9 月 24 日,GA 正式版目标日期为 2026 年 11 月 19 日。该时间表还说明,个别版本可能会根据开发进展增删调整。

PHP 官网预发布构建页面已经列出 PHP 8.6.0alpha2 的源码包。页面显示,Source Builds 中包括 php-8.6.0alpha2.tar.bz2、php-8.6.0alpha2.tar.gz 和 php-8.6.0alpha2.tar.xz,发布日期均为 2026 年 7 月 16 日,并附有 SHA256 校验值。Windows QA 构建也列出了 PHP 8.6.0alpha2 的线程安全、非线程安全、x64 与 x86 包,供 Windows 环境提前验证。
从官方 NEWS 文件看,PHP 8.6.0alpha2 以修复和补充为主。7 月 16 日条目中,Core 部分同步了 Boost.Context assembly 到 1.91.0,修复 AST pretty-printing 在 instanceof 右侧表达式中丢失有意义括号的问题,并调整只读属性在 clone-with 后的修改锁定行为。Streams 部分修复了在设置代理后通过 https URL 调用 file_get_contents 可能出现的段错误,该问题在 NEWS 中标注为 CVE-2026-12184。Curl 部分新增 CURLOPT_SEEKFUNCTION 以及 CURL_SEEKFUNC_OK、CURL_SEEKFUNC_FAIL、CURL_SEEKFUNC_CANTSEEK 常量,用于让 libcurl 在重定向、多轮认证或复用连接重试时回卷请求体。

同一份 NEWS 文件也保留了 7 月 2 日 Alpha 1 的变更记录,这部分能看到 PHP 8.6 的新特性轮廓。Core 中加入了 clamp();JSON 解码错误信息增加位置细节;Intl 增加 IntlNumberRangeFormatter、grapheme_strrev() 以及 Locale 相关新方法;OpenSSL 增加 TLS session resumption、TLS external PSK 和 stream crypto status;Streams 增加新的 stream errors API;URI 增加 Rfc3986\UriBuilder,以及 URI 类型、Host 类型检测方法;Zip 增加 ZipArchive::openString()。这些内容仍处于预发布周期,实际可用范围应以正式版前的官方文件为准。
迁移影响方面,官方 UPGRADING 文件列出的变化覆盖兼容性、安全默认值、新函数、新类和性能优化。Session 变化尤其值得提前测试:session.use_strict_mode 默认值改为 1,session.cookie_httponly 默认值改为 1,session.cookie_samesite 默认值改为 Lax。官方说明指出,严格模式会拒绝未初始化的会话 ID,httponly 会让 JavaScript 无法通过 document.cookie 读取会话 Cookie,SameSite=Lax 会影响跨站请求场景。依赖自定义会话处理器、跨站 POST 或前端读取会话 Cookie 的旧项目,需要在测试环境确认行为。

UPGRADING 文件还列出多项新的函数、类和接口。Reflection 增加 ReflectionConstant::inNamespace()、ReflectionProperty::isReadable()、ReflectionProperty::isWritable() 和 ReflectionParameter::getDocComment();Standard 中新增 clamp()、stream_last_errors()、stream_clear_errors()、stream_socket_get_crypto_status(),并增加 SortDirection、StreamError、StreamException 以及 StreamErrorMode、StreamErrorCode 等枚举。OpenSSL 命名空间下新增 Openssl\Session 和 Openssl\Psk,IO 轮询相关类与接口也进入列表。对扩展作者和框架维护者来说,这些 API 变化比普通语法更新更需要提前跑测试。
兼容性调整还包括多个函数从静默接受异常输入改为抛出 TypeError 或 ValueError。UPGRADING 文件显示,array_filter() 遇到无效 mode、array_change_key_case() 遇到无效 case、pathinfo() 遇到无效 flags、scandir() 遇到无效排序参数时都会改为抛出 ValueError;getenv()、putenv()、parse_str()、proc_open() 等函数对包含 NUL 字节的参数也有更严格处理。Zip、Intl、SOAP、Sodium、SPL、Phar 等扩展同样有行为变化,旧代码中依赖警告、false 返回值或隐式截断的路径,升级前需要补回归测试。
性能部分,官方文件提到 printf() 在只使用 %s 和 %d 时可被编译为等价字符串插值,已知构造器参数传递更高效,array_map() 在使用一等可调用或部分函数应用回调时可编译为等价 foreach-loop,ZTS 构建性能也有改进。JSON、DOM、Intl、Phar、Standard、URI、Zip 等模块也列出若干性能优化。由于 Alpha 2 仍处早期阶段,这些优化和行为调整最终落入正式版的细节仍应以后续 Beta、RC 和正式发布文件为准。
截至 2026 年 7 月 22 日,PHP 官网尚未把 PHP 8.6 列入稳定下载入口,主站导航仍以 PHP 8.5 为当前稳定大版本入口。开发者目前更适合把 PHP 8.6.0alpha2 用在 CI 兼容性验证、扩展适配、框架测试矩阵和安全默认值评估中,而不是替换线上运行时。按 PHP Wiki 时间表,下一步是 2026 年 7 月 30 日的 Alpha 3;8 月中旬进入 Beta 后,功能边界会比 Alpha 阶段更清晰。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











