PHP 8.5.7 已于2026年6月4日正式发布,是PHP 8.5系列的bug修复版本,包含URI解析安全修复(CVE-2026-44927/44928)及JIT稳定性提升,官方提供VS17 x64 NTS/TS二进制包供Windows用户下载。

PHP 8.5.7 目前并不存在——截至 2026 年 7 月,PHP 官方最新稳定版为 PHP 8.3.x,且自 PHP 8.0 起,Windows 官方二进制包已不再提供 Thread Safe(TS)版本,仅发布 Non-Thread Safe(NTS)ZIP 包。所谓“PHP 8.5.7”属于虚构版本,可能是误传或混淆了开发分支编号。实际安装必须基于真实可用版本(如 8.3.12),并严格按 NTS 路径操作。
Windows 上只用 NTS 版本,别找 TS
PHP 7.4 是最后一个带 TS 包的版本;从 8.0 开始,windows.php.net 官网只发布 NTS ZIP 包。这不是疏忽,而是架构演进结果:现代 Windows Web 部署(IIS + FastCGI、Nginx + php-cgi)天然适配单线程模型,NTS 更轻量、更稳定、扩展兼容性更好。
- 下载地址认准:https://windows.php.net/download/,不要用 php.net 主站 downloads 页面或第三方镜像
- 选包时注意三项:VC17(对应 Visual C++ 2022 运行库)、x64(64位系统必须选 x64,x86 已淘汰)、NTS(页面上明确标注 “Non-Thread Safe”)
- 常见错误:误下 “php-8.3.12-Win32-vs17-x64.zip” 却以为是 TS 版——其实所有 vs17 包都是 NTS,官网已无 TS 可选
解压与基础配置一步到位
NTS 包本质是绿色免安装版,解压后需手动补全关键环节,否则 php.exe 根本无法调用。
- 解压到纯英文无空格路径,例如 C:\php(严禁 C:\Program Files\php 或 C:\我的PHP\)
- 复制 php.ini-development 为 php.ini,编辑它:取消
extension_dir行注释,改为extension_dir = "ext" - 启用常用扩展:去掉
;extension=mysqli、;extension=mbstring、;extension=curl前的分号 - 务必设置时区:添加一行
date.timezone = Asia/Shanghai
环境变量和 CLI 验证不能跳过
PATH 不加,命令行就找不到 php;php.ini 路径不对,扩展就白启——这两步出错占初学者报错的 80%。
立即学习“PHP免费学习笔记(深入)”;
- 右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到 Path,点击“编辑”→“新建”→填入 C:\php
- 重启命令提示符(旧窗口不生效),执行
php -v:应显示版本号且无“不是内部或外部命令”错误 - 执行
php --ini查看加载的 php.ini 路径,确认是 C:\php\php.ini(不是 C:\Windows\php.ini 或其他位置) - 执行
php -m | findstr mysqli检查扩展是否载入成功
Web 服务器对接只认 NTS + FastCGI 模式
Apache mod_php 方式在 PHP 8+ Windows 环境已不可行,因为没了 TS 包支撑。唯一可靠路径是 IIS 或 Nginx 通过 FastCGI 调用 php-cgi.exe。
- IIS:启用“FastCGI 设置”,可执行文件路径指向 C:\php\php-cgi.exe,初始参数留空即可
- Nginx:配置 location ~ \.php$ 块,fastcgi_pass 指向 127.0.0.1:9000,再用 php-fpm 或 spawn-fcgi 启动监听(注意:Windows 下 php-fpm 不原生支持,推荐用
php-cgi -b 127.0.0.1:9000手动启动) - 验证 Web 环境:建 info.php,内容为
<?php phpinfo(); ?>,浏览器访问,重点看 “Thread Safety” 显示 disabled(证明确实是 NTS),且 “Loaded Configuration File” 路径正确



















