easyphp 15.0.2 mysql连接失败主因有四:1. mysql服务未启动或端口被占,需查控制台状态及error.log;2. localhost解析走socket而非tcp,应改用127.0.0.1并禁用skip-networking;3. root用户host权限不匹配,需授权'root'@'127.0.0.1';4. php扩展未启用或libmysql.dll版本冲突,需检查php.ini和ext目录。

EasyPHP 15.0.2 是一个较老的集成环境(发布于2015年左右),其 MySQL 无法连接,通常不是单一原因,而是多个老旧配置与现代系统环境不兼容叠加导致。重点排查以下四类问题:
MySQL服务根本没启动
EasyPHP 的控制面板看似运行,但 MySQL 模块可能处于“未激活”或“启动失败”状态。
- 打开 EasyPHP 控制台(tray icon → “Configuration” → “Servers”),确认 MySQL 行的状态是否为 Running;若显示 Stopped 或 Failed,点击右侧“Start”尝试启动
- 启动失败时,查看日志:进入 EasyPHP\binaries\mysql\logs\ 目录,打开 error.log,常见报错如:
–Can't start server: Bind on TCP/IP port: Address already in use(3306端口被占用)
–Incorrect definition of table mysql.db(数据字典损坏,多因强制关机或旧版升级残留) - 若端口冲突,可改用
netstat -ano | findstr :3306查进程 PID,再用任务管理器结束;或修改 EasyPHP\binaries\mysql\my.ini 中的port=3307,重启服务并更新 PHP 连接字符串中的端口
localhost 解析走 Unix socket 而非 TCP
EasyPHP 默认 MySQL 绑定在 127.0.0.1,但 PHP 使用 localhost 时,Windows 下部分旧版本会尝试连接命名管道或 socket,而 EasyPHP 并未启用该机制,导致“Connection refused”。
- 在 PHP 连接代码中,把
$host = 'localhost'明确改为$host = '127.0.0.1' - 同时检查 my.ini 是否存在
skip-networking—— 若有,务必删除或注释掉,否则 MySQL 只接受本地 socket 连接,拒绝所有 TCP 请求 - 确认
bind-address = 127.0.0.1(不是localhost,也不是空值),这是 Windows 下最稳妥的监听配置
用户权限绑定 Host 不匹配
EasyPHP 自带的 MySQL(通常是 5.6 或 5.5)默认 root 用户 Host 为 localhost,但 PHP 用 127.0.0.1 连接时,MySQL 会将其视为不同主机,从而拒绝认证。
- 先用命令行测试:打开 CMD,执行
cd EasyPHP\binaries\mysql\bin,再运行:mysql -u root -p -h 127.0.0.1(输密码)—— 若失败,说明权限不匹配 - 成功登录后(可用
mysql -u root -p先以 localhost 登录),执行:CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY '';GRANT ALL ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;FLUSH PRIVILEGES; - 如果密码非空,请替换
IDENTIFIED BY 'xxx';注意 EasyPHP 15.0.2 默认 root 密码为空,不要加引号误输成字符串
PHP 扩展未正确加载或版本错配
EasyPHP 15.0.2 捆绑的是 PHP 5.6.x 和旧版 MySQLi/PDO 扩展,若手动替换过 DLL、或系统 PATH 中存在其他 MySQL lib,易引发扩展加载失败或“Client does not support authentication protocol”错误。
- 新建
info.php放入 www 目录,内容为<?php phpinfo(); ?>,浏览器访问,搜索 mysqli 和 PDO MySQL —— 若无任何输出,说明扩展未启用 - 检查 php.ini(通常在
EasyPHP\php\php.ini)中是否有:extension=php_mysqli.dllextension=php_pdo_mysql.dll
确保这两行未被分号注释,且对应 DLL 文件真实存在于EasyPHP\php\ext\目录下 - 若仍报错如
mysqlnd cannot connect,可能是 libmysql.dll 版本冲突 —— 尝试将EasyPHP\binaries\mysql\lib\libmysql.dll复制覆盖到EasyPHP\php\目录,并确保该路径在系统 PATH 最前面(重启 EasyPHP 服务生效)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











