PHPStudy数据库连接失败主因是PHP与MySQL通信链路异常:需检查PHP是否启用mysqli/pdo_mysql扩展、连接参数(host/port/账号)是否匹配实际环境、MySQL服务是否真正运行且端口未被占用,同时排除防火墙拦截。

PHPStudy 后台数据库连接失败,多数情况不是 MySQL 本身挂了,而是 PHP 与 MySQL 之间的“沟通链路”出了问题。重点排查方向是 PHP 是否启用了 MySQL 扩展、配置是否指向正确的端口和账户、以及服务是否真正运行。
检查 PHP 是否加载了 MySQL 相关扩展
PHPStudy 默认使用的是 php_mysql.dll 或更现代的 php_mysqli.dll 和 php_pdo_mysql.dll。若这些扩展未启用,PDO 或 mysqli 函数会直接报错(如 Call to undefined function mysqli_connect())。
- 打开 PHPStudy → 点击“其他选项菜单” → “打开配置文件” → “php.ini”
- 搜索
extension=mysqli和extension=pdo_mysql,确认前面没有分号;注释 - 保存后,重启 Apache/Nginx 和 MySQL 服务(必须重启,仅重载不生效)
- 新建一个
info.php文件,内容为<?php phpinfo(); ?>,访问查看页面中是否有 mysqli 和 PDO MySQL 模块信息
核对数据库连接参数是否匹配实际环境
后台常见的连接失败提示如 “Access denied for user”、“Connection refused”、“Can't connect to MySQL server”,往往对应不同原因:
-
用户名/密码错误:PHPStudy 默认 MySQL 账户是
root,密码为空(不是root),部分新版安装可能设为123456,需在 PHPStudy 面板“数据库管理”里确认 -
主机地址写错:代码中用
localhost时,PHP 可能尝试走 socket 连接;若失败,可换为127.0.0.1强制走 TCP -
端口不一致:MySQL 默认端口是 3306,但 PHPStudy 允许自定义。进入“数据库管理”页面,看右上角显示的实际端口,并确保 PHP 连接时指定正确(例如
mysql:host=127.0.0.1;port=3308)
确认 MySQL 服务已启动且无端口冲突
即使面板显示“已启动”,也可能因端口被占用或初始化失败而实际未就绪。
立即学习“PHP免费学习笔记(深入)”;
- 在 PHPStudy 主界面,查看 MySQL 行对应的“状态”是否为绿色“已启动”;若为灰色或红色,点击启动并观察弹窗提示
- 打开 Windows 任务管理器 → “服务”选项卡,查找
MySQL或mysqld服务,确认状态为“正在运行” - 命令行执行
netstat -ano | findstr :3306(替换为你的实际端口),看是否有进程监听;若有,记下 PID,再查该 PID 对应程序是否为mysqld.exe - 若端口被占用(如被另一个 MySQL、Navicat 后台或 Skype 占用),可在 PHPStudy → “数据库管理” → “修改端口”换一个(如 3307),再同步更新 PHP 连接配置
检查防火墙或安全软件拦截(较少见但偶发)
本地开发环境一般不受影响,但某些企业版安全软件或 Windows 防火墙策略可能阻止本地回环通信。
- 临时关闭 Windows Defender 防火墙(控制面板 → 系统和安全 → Windows Defender 防火墙 → 启用或关闭防火墙)测试是否恢复
- 检查是否安装了 360、腾讯电脑管家等,其“网络防护”或“ARP 防护”功能有时会误拦截
127.0.0.1的 MySQL 连接 - 如确认是该原因,可在安全软件中添加
mysqld.exe和httpd.exe(或nginx.exe)为信任程序



















