本质是windows缺少visual c++运行时环境,需安装微软官方x64和x86版vc++ redistributable for vs2015–2022,而非手动复制dll。

phpEnv 安装 MySQL 时提示 vcruntime140_1.dll 丢失,本质不是 MySQL 问题
这个报错和 phpEnv、MySQL 本身都没关系,是 Windows 缺少 Visual C++ 运行时环境导致的。MySQL 官方二进制包(尤其是 8.0+ 版本)由 VS2019 编译,强依赖 vcruntime140_1.dll —— 它不是普通 DLL,而是 C++ 异常处理、栈展开、RTTI 等底层机制的载体。哪怕你之前装过 MySQL 或 VS,只要没装对版本的运行库,照样报错。
必须同时安装 x64 和 x86 两个版本的 VC++ Redistributable
phpEnv 是 32 位程序(即使在 64 位系统上运行),但它调用的 MySQL 服务端(mysqld.exe)通常是 x64 架构,两者会分别加载不同位数的运行库。只装一个版本,必然漏掉依赖。
- 去微软官方下载最新版:Microsoft Visual C++ Redistributable for Visual Studio 2015–2022
- 下载并安装
vc_redist.x64.exe和vc_redist.x86.exe两个安装包 - 安装后无需手动复制 DLL,系统会自动部署到
C:\Windows\System32(x64)和C:\Windows\SysWOW64(x86) - 安装完务必重启 cmd 或 PowerShell,否则环境变量和 DLL 加载缓存可能未刷新
别用第三方 DLL 下载站或手动复制 vcruntime140_1.dll
手动拷贝单个 vcruntime140_1.dll 文件是高风险操作,容易引发兼容性问题:
- 从非官方渠道下载的 DLL 可能被篡改或签名失效,触发 Windows Defender 拦截
- 版本不匹配会导致
mysqld启动后立即崩溃,错误日志里出现STATUS_ACCESS_VIOLATION或静默退出 - 覆盖系统目录下的同名文件可能影响其他软件(如 Chrome、微信、VS Code)
- 某些安全策略(如 WDAC 或 AppLocker)会直接阻止未签名 DLL 加载
验证是否真正修复:用 dumpbin 查看 mysqld.exe 的实际依赖
安装完 VC++ 运行库后,别急着重试 phpEnv,先确认 mysqld.exe 本身已无缺失依赖:
- 打开 Developer Command Prompt for VS(或确保
dumpbin在 PATH 中) - 执行:
dumpbin /imports "D:\phpEnv\mysql\bin\mysqld.exe" | findstr vcruntime - 正常应输出类似:
vcruntime140_1.dll,且无“找不到”类报错 - 如果仍报错,说明 phpEnv 解压的 MySQL 包损坏,建议删除
phpEnv\mysql目录后重新解压官方 ZIP 包(非 MSI 安装版)
最易被忽略的一点:phpEnv 自带的 MySQL 压缩包若来自非官方镜像,可能已被精简或打包错误,导致运行库引用路径异常 —— 此时重装 VC++ 也无效,必须换包。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











