php连接mysql报错怎么办_连接失败常见原因及解决对策【解答】


PHP连接MySQL失败主因是服务未运行、权限不匹配或mysqli扩展未启用,需依次检查MySQL状态、端口监听、用户主机匹配及PHP扩展配置。

PHP 连接 MySQL 报错:mysqli_connect() 返回 false 或提示“Connection refused”

绝大多数连接失败,不是代码写错了,而是 mysqli_connect() 根本没连上 MySQL 服务。先确认 MySQL 进程是否在运行、端口是否被监听、防火墙是否放行。

  • Linux 下执行 systemctl status mysql(或 mariadb)看服务状态;macOS 用 brew services list | grep mysql
  • 检查端口:运行 netstat -tuln | grep :3306lsof -i :3306,若无输出,说明 MySQL 没监听 3306
  • 本地测试连通性:mysql -h 127.0.0.1 -P 3306 -u root -p,能进命令行才说明服务可用
  • Docker 环境常见坑:host 不能写 localhost,得用 host.docker.internal(Mac/Win)或容器名(同网络下)

报错 “Access denied for user 'xxx'@'localhost'”

用户名密码对不上只是表象,本质是 MySQL 认证用户和来源主机不匹配。MySQL 的用户是 'user'@'host' 二元组,'root'@'localhost''root'@'127.0.0.1' 是两个不同账号。

  • 登录 MySQL 后执行:
    SELECT User, Host FROM mysql.user;
    看是否存在你代码里用的 user + 实际连接时解析出的 host
  • 若用 mysqli_connect('localhost', ...),PHP 默认走 Unix socket(等价于 'user'@'localhost');改用 '127.0.0.1' 强制走 TCP,对应 'user'@'127.0.0.1'
  • 新创建用户务必用 CREATE USER 'xxx'@'%' IDENTIFIED BY 'pwd';GRANT ... ON *.* TO 'xxx'@'%';,再 FLUSH PRIVILEGES;

PHP 报 “Call to undefined function mysqli_connect()”

这不是 MySQL 配置问题,是 PHP 编译时没启用 mysqli 扩展,或者扩展没加载。

  • 运行 php -m | grep mysqli,无输出说明扩展未启用
  • 检查 php.ini 中是否包含 extension=mysqli(Linux/macOS 通常为 extension=mysqli.so,Windows 为 extension=php_mysqli.dll
  • 注意 CLI 和 Web SAPI 的 php.ini 可能不同:用 php --ini 查 CLI 路径,phpinfo(); 查 Apache/Nginx 加载的配置
  • Debian/Ubuntu 用户常漏装 php-mysql 包,需 sudo apt install php-mysql

连接成功但查询报 “MySQL server has gone away”

这通常不是连接阶段失败,而是连接后空闲太久被 MySQL 主动断开,或查询超长导致 packet 被截断。

  • 检查 MySQL 的 wait_timeoutinteractive_timeout 值(默认 28800 秒,即 8 小时),短连接场景一般不用调;但长脚本或 CLI 模式下可能触发
  • 更常见原因是单次发送 SQL 太大,超过 max_allowed_packet(默认 4MB)。可临时加大:
    SET GLOBAL max_allowed_packet = 64*1024*1024;
  • PHP 侧建议:每次查询前加 mysqli_ping($conn) 检测连接有效性,失效则重连;避免复用长时间闲置的连接

MySQL 的权限模型、socket/TCP 差异、PHP 扩展加载路径这三处,最容易被跳过验证,却占了八成以上的“连不上”问题。别急着改代码,先盯住这三块。


# mysql  # php  # linux  # go  # docker  # windows  # apache  # nginx  # 防火墙  # access  # 端口  # sql  # for  # mysqli  # internal  # undefined  # function  # macos  # mariadb  # ubuntu  # debian  # unix 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  php8.4如何实现队列任务_php8.4redis队列简单实现方法【教程】  php命令行怎么运行_通过CLI模式执行PHP脚本的步骤【说明】  Golang如何遍历目录文件_Golang filepath.Walk目录遍历操作方法  Windows电脑如何进入安全模式?(多种按键方法)  Win10任务栏天气和资讯怎么关闭 Win10禁用新闻和兴趣功能【教程】  Python如何创建带属性的XML节点  Win11玩游戏全屏闪退怎么办_Win11全屏优化禁用设置【教程】  php转exe用什么工具打包快_高效打包软件推荐【汇总】  如何从 Go 的 map[string]interface{} 中安全获取值  如何在包含多值的列中精准搜索指定演员?  Python异步网络编程_aiohttp说明【指导】  如何使用正则表达式精确匹配最多含一个换行符的 start-end 区段  如何在Golang中实现RPC异步返回_Golang RPC异步处理与回调方法  C++友元类使用场景_C++类间协作设计方式讲解  如何在 Go 中高效缓存与分发网络视频流  如何在Golang中定义接口_抽象方法和多态实现  如何测试您的网站全球打开速度-网站海外测速工  MAC如何修改默认应用程序_MAC文件后缀关联设置与打开方式更改【教程】  VSC里PHP变量未定义报错怎么解决_错误抑制技巧【解答】  Python模块的__name__属性如何由导入方式决定?  如何理解Go指针和内存分配关系_Go Pointer内存Model解析  Python与Docker容器化部署实战_镜像构建与CI/CD流程  如何在Golang中使用time处理时间_Golang time时间解析与格式化方法  如何在 Go 中正确反序列化多个同级 XML 元素(而非单个根节点)  如何在 IIS 上为 ASP.NET 6 应用排除特定目录并交由 PHP 处理  Win11怎么设置桌面图标间距_Windows11注册表IconSpacing修改  Windows10电脑怎么设置防火墙出站规则_Win10禁止程序联网教程  Win11 explorer.exe频繁崩溃_修复Win11资源管理器无限重启【步骤】  Python实现图数据库操作_Neo4j核心CRUD与图算法解析  Python网络异常模拟_测试说明【指导】  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Win11怎么关闭右下角弹窗_Win11拦截系统通知广告【设置】  Win10怎样设置多显示器_Win10多显示器扩展设置【攻略】  php嵌入式日志记录怎么实现_php将硬件数据写入本地日志文件【指南】  如何在Golang中处理通道发送接收错误_防止阻塞或panic  Python装饰器设计思路_功能增强机制说明【指导】  MAC怎么截图并快速编辑_MAC自带截图快捷键与标注工具使用【方法】  Python大型项目拆分策略_模块化解析【教程】  海外搜索引擎推广效果怎么样,怎么分析效果!  Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】  Win11怎么设置快速访问主页_Windows11资源管理器文件夹选项  Win10怎样清理C盘浏览器缓存_Win10清理浏览器缓存步骤【步骤】  Windows10如何更改盘符名称_Win10重命名硬盘分区卷标  Python对象生命周期管理_创建销毁说明【指导】  Win10系统怎么查看网络连接状态_Windows10网络和共享中心  如何在Golang中捕获结构体方法错误_Golang方法返回error处理实践  Python文本编码与解码_跨平台解析说明【指导】  Win11怎么关闭用户账户控制UAC_Windows11更改通知设置等级 

 2026-01-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.