kb2999226是windows 7 sp1系统运行php 7.2+所必需的ucrt前置补丁,必须先安装并重启,再安装vc++ 2015–2019运行时(x64与x86双版本),否则将因缺失api-ms-win-crt-runtime-l1-1-0.dll而报错。

这个问题不是PHP装错了,而是Windows系统缺了底层C运行时组件——直接装VC红istributable包就能解决,但顺序和版本必须对,否则白装。
为什么PHP 7.2+在Win7上必报这个错
api-ms-win-crt-runtime-l1-1-0.dll 属于 UCRT(Universal C Runtime),从 Windows 10 起才原生内置。Windows 7 SP1 用户必须手动补全,且有严格依赖链:
- KB2999226 补丁是前置条件,没它,后续所有运行库都加载失败
- PHP 8.1.x-Win32-vs16-x64.zip 这类包明确用 VS2019 编译(vs16 = Visual Studio 2019),必须配 VC++ 2015–2019 运行时,不是“最新版”就行
- 即使系统是64位,也要同时装
vc_redist.x64.exe和vc_redist.x86.exe——某些PHP扩展(如php_curl.dll)会静态链接32位CRT
安装顺序和关键操作步骤
顺序错一步,php -v 仍会弹窗报“找不到指定模块”:
- 先确认系统是 Windows 7 SP1(非SP1不支持KB2999226),右键“计算机”→“属性”查看
- 下载离线版 KB2999226(x64 或 x86 必须与系统一致),双击安装 → 必须重启
- 再装 VC++ 2015–2019 运行时:vc_redist.x64.exe 和 vc_redist.x86.exe,两个都运行安装
- 最后装 PHP 包,确保下载页里标注的 vs 版本(如 vs16)和你装的运行时匹配
装完还报错?检查这三件事
常见假性成功:安装程序显示“完成”,但DLL实际没进系统路径或被劫持:
- 打开命令行,执行
where api-ms-win-crt-runtime-l1-1-0.dll—— 正常应返回C:\Windows\System32\api-ms-win-crt-runtime-l1-1-0.dll;若无输出,说明KB补丁未生效或系统损坏 - 运行
sfc /scannow扫描系统文件完整性,修复可能被覆盖的UCRT映射表 - 检查
%PATH%是否包含第三方软件自带的旧版CRT目录(如某IDE或游戏客户端的bin路径),临时移除再试
绝对不要做的事
网上搜到的单个DLL文件、SysWOW64里手动删dll、用“DLL修复工具”自动覆盖系统文件——这些操作大概率导致签名验证失败、蓝屏或后续更新失败。UCRT是Windows系统组件,必须通过微软官方补丁或运行库安装器部署。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











