phpenv 不提供 mariadb 安装功能,仅管理 php 和 web 服务器;mariadb 需手动安装、注册为 windows 服务、配置 my.ini、添加 bin 到 path,并确保 mysql.exe 存在且可执行。

phpEnv 本身不提供 MariaDB 安装功能,它只管理 PHP 版本和 Apache/Nginx 环境。MariaDB 需要单独安装并手动集成——这是最容易被误解的第一步。
为什么 phpEnv 启动后看不到 MariaDB?
因为 phpEnv 的「数据库」选项卡里列出的只是它能识别的已存在服务,并非自动安装或托管数据库。它不会下载、解压、注册或启动 mariadb 服务。
- 你看到的“MySQL 5.7”或“MariaDB 10.4”等选项,其实是
phpEnv尝试读取系统 PATH 中是否存在对应mysqld或mysql可执行文件,再根据版本号做标记 - 如果本地没装 MariaDB,或者
bin目录没加进系统 PATH,phpEnv 就会显示空白或报错 “No MySQL/MariaDB found” - 即使你用其他方式装好了 MariaDB(比如官方 MSI、
choco install mariadb、或解压 zip 包),只要没配置好服务名和路径,phpEnv 依然无法联动
在 Windows 上让 phpEnv 识别自定义 MariaDB 版本
核心是:把 MariaDB 装成 Windows 服务,并确保 phpEnv 能调用到它的 mysql 客户端和 mysqld 服务进程。
- 下载对应版本的 MariaDB ZIP 包(如
mariadb-10.11.8-winx64.zip),解压到固定路径,例如D:\mariadb-10.11.8 - 用管理员权限运行 CMD,执行:
mysqld.exe --install MariaDB1011 --defaults-file="D:\mariadb-10.11.8\my.ini"(注意服务名不要含空格或点,建议用驼峰或下划线) - 手动创建
my.ini,关键段落必须包含:[mysqld]下的datadir、port、basedir,且路径全部用正斜杠或双反斜杠,避免转义错误 - 把
D:\mariadb-10.11.8\bin加入系统 PATH,然后重启 phpEnv GUI —— 此时「数据库」页通常就能检测到该版本 - 若仍不显示,可尝试在 phpEnv 设置里手动指定 MySQL 路径:
Settings → MySQL Path → Browse,指向你解压目录下的bin\mysql.exe
常见失败场景与绕过方法
很多用户卡在“服务启动失败”或“phpEnv 显示连接超时”,根本原因往往不是配置错,而是端口冲突或权限残留。
-
net start MariaDB1011报错 1067:先检查error.log(默认在data目录下),90% 是datadir路径不存在、已有旧数据未清理,或my.ini里写了不兼容参数(如default_authentication_plugin=cache_sha2_password,MariaDB 10.4+ 才支持) - phpEnv 测试连接提示 “Can't connect to MySQL server on '127.0.0.1' (10061)”:确认服务确实在运行(
sc query MariaDB1011),且my.ini中没写skip-networking,也别绑定到127.0.0.1:3307这类非标端口(phpEnv 默认只试 3306) - 想共存多个 MariaDB 版本?可以,但每个服务必须用不同服务名(
MariaDB105/MariaDB1011)、不同port、不同datadir,且 phpEnv 只能同时启用一个 —— 它不支持切换数据库后端实例
真正麻烦的不是安装步骤,而是 Windows 下服务注册、PATH 生效顺序、以及 phpEnv 对 mysql --version 输出格式的硬依赖 —— 某些精简版 MariaDB zip 包删掉了 mysql.exe,只剩 mysqld.exe,这时 phpEnv 就完全识别不了。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











