phpEnv启动卡在api-ms-win-crt-runtime报错,因依赖的Universal C Runtime(UCRT)缺失或版本不匹配:Windows 7需先装KB2999226再装KB3118401;Win10/11若禁用更新则需DISM+sfc修复;必须安装官方VC++ 2015–2022红istributable且与系统位数一致,并验证php--version和httpd-t是否通过。
直接装
(或
)基本就能解决,但必须确认系统已打关键补丁,否则安装会静默失败或报错“0x80240017”。
为什么
php
Env 启动会卡在 api-ms-
win
-crt-runtime 报错
phpEnv 本身不自带运行库,它依赖 Windows 系统级的 Universal C Runtime(UCRT)。这个运行时由
文件组成,不是普通 DLL,而是“API Set”转发层——它们不包含实际代码,只负责把调用转给
。一旦系统缺少 UCRT 基础组件或版本不匹配,phpEnv 启动时加载 PHP 或 Apache 的二进制模块就会失败。
常见触发点:
Windows 7 未升级到 SP1,或 SP1 已装但没打 KB2999226 / KB3118401
系统是干净重装的 Windows 10/11,但被禁用了 Windows Update,导致 UCRT 未随系统更新自动部署
手动删过
(极危险,别这么干)
装了多个 VC++ 运行库,但 2015–2022 版本混装冲突,尤其 32/64 位错配
先查系统是否满足最低补丁要求
打开命令提示符(管理员),逐条执行:
立即学习
“
PHP免费学习笔记(深入)
”;
确认输出中含
或
及以上。再查补丁:
如果无输出,说明缺失关键 UCRT 补丁。此时:
Windows 7:必须先装
(基础 UCRT),再装
(安全更新),顺序不能反
Windows 10 1607+:通常自带 UCRT,但若关闭过更新,需手动运行
+
别信“一键修复工具”,它们常绕过补丁依赖检查,装完仍报错
正确安装 VC++ 运行库的顺序和版本
phpEnv 官方文档明确要求 Visual C++ 2015–2022 Redistributable(因 PHP 官方编译链使用 MSVC 2019)。不要只装 2015 版,也不要跳着装 2017 或 2019 单独版。
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
操作步骤:
从微软官方页下载
(64 位系统)或
(32 位系统):
最新 2015–2022 合集
卸载控制面板里所有旧版
(尤其是带 “Update” 字样的非官方打包版)
以管理员身份运行下载的
,勾选“为所有用户安装”,不要跳过重启提示
装完后检查
文件属性 → “详细信息”标签页,文件版本应 ≥
(对应 Win10 2004)
验证 phpEnv 是否真能启动,而不是掩盖错误
很多人装完运行库就以为好了,结果 phpEnv 界面能开、Apache 却起不来,或 PHP 命令行报
。这是因为:
phpEnv 自带的 Apache/PHP 是 64 位,但你装了 32 位运行库(或反之)
环境变量里有旧版
等干扰项,导致加载错版本
杀毒软件拦截了
的内存映射(常见于火绒、360)
验证方法:在 phpEnv 安装目录下打开命令行,直接运行:
如果返回版本号,说明 PHP 本体已通;再运行:
若提示语法正常,则 Apache 配置也通过。两者都成功,才是真修复。任何一步失败,都要回溯补丁 + 运行库 + 系统架构三者是否严格一致。
最易被忽略的一点:Windows 7 用户即使装了全部补丁和运行库,若系统语言包非简体中文或英文,某些 UCRT 组件仍可能加载失败——此时需额外安装对应语言的
补丁,而非换 DLL 文件。
vc_redist.x64.exevc_redist.x86.exeapi-ms-win-crt-*.dllucrtbase.dllC:\Windows\System32\api-ms-win-crt-*.dllsysteminfo | findstr "OS Name OS Version"Windows 7 Service Pack 1Windows 10wmic qfe list | findstr "KB2999226\|KB3118401"KB2999226KB3118401DISM /Online /Cleanup-Image /RestoreHealthsfc /scannowvc_redist.x64.exevc_redist.x86.exeMicrosoft Visual C++ 20xx Redistributablevc_redist.x64.exeC:\Windows\System32\ucrtbase.dll10.0.19041.10xc000007bPATHmsvcr120.dllucrtbase.dllphp --versionhttpd -tLCID