You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cPanel部署Laravel8连接MySQL出现Connection refused错误如何解决?

Laravel 8 cPanel 部署MySQL连接失败排查

两类报错对应不同的连接问题,按以下步骤排查即可:

基础规则校验

cPanel环境的数据库配置和本地环境有默认差异,首先核对以下基础项:

  • cPanel默认禁止站点使用root账号连接数据库,你需要登录cPanel后台进入「MySQL数据库」模块,创建独立的数据库账号,将账号绑定到project_db并授予全量权限
  • cPanel生成的数据库名、数据库账号名都会自动拼接你的cPanel账户前缀,比如cPanel账户名为test,则实际数据库名为test_project_db,账号名为test_你设置的账号名,需要替换.env中对应的本地配置值
  • 确认cPanel后台「服务状态」中的MySQL/MariaDB服务处于正常运行状态

针对两类报错的修复方案

报错1:SQLSTATE[2002] Connection refused(DB_HOST=127.0.0.1时触发)

该报错是TCP连接请求被拒绝,修复方式:

  • 进入cPanel「远程MySQL」页面,将127.0.0.1添加到允许访问的IP白名单
  • 确认.env中DB_PORT配置为cPanel MySQL实际监听端口,默认是3306,部分服务商可能会修改默认端口,可在cPanel面板的数据库说明页查询端口信息

报错2:SQLSTATE[2002] No such file or directory(DB_HOST=localhost时触发)

该报错是PHP无法找到MySQL的UNIX套接字文件,修复方式:

  • 登录cPanel查看PHP信息,找到pdo_mysql.default_socket字段对应的套接字路径,常见路径为/var/lib/mysql/mysql.sock、/tmp/mysql.sock
  • 在.env文件中新增套接字配置即可:
DB_SOCKET=你查询到的实际套接字路径

生效操作

所有配置修改完成后,执行php artisan config:clear清除Laravel配置缓存,再测试数据库连接即可。

内容的提问来源于stack exchange,提问作者my name is

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:05