首页 > 解决方案 > 托管项目时出现连接问题:SQLSTATE[HY000] [2002] Connection denied

问题描述

我正在尝试将我的项目 laravel 连接到外部服务器,它在本地主机中时连接得很好,但是当我尝试将它托管到服务器时,它向我显示了这个错误

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `cdr` 
where `dst` in (0, 0, 0))

这是我的 database.php 和 .env

数据库.php

     'mysqlExtern' => [
           'driver'    => 'mysql',
           'host'      => env('DB_HOST_EXT', '187.164.77.77'),
           'port'      => env('DB_PORT_EXT', '3306'),
           'database'  => env('DB_DATABASE_EXT', 'testDb'),
           'username'  => env('DB_USERNAME_EXT', 'xxxx'),
           'password'  => env('DB_PASSWORD_EXT', 'xxxxx'),
       ],

.env

DB_CONNECTION=mysqlExtern
DB_HOST_EXT=187.164.77.77
DB_PORT_EXT=3306
DB_DATABASE_EXT=testDb
DB_USERNAME_EXT=coga
DB_PASSWORD_EXT=RTgh457

标签: phpmysqllaravel-5

解决方案


如果它在 localhost 上运行,则意味着您的 localhost 配置和连接代码可能是正确的。

当连接到外部服务器,尤其是数据库时,您应该记住,有些配置会阻止“每个人”连接到该服务器(防火墙、阻塞端口、IP 黑名单/白名单)。您应该联系服务器管理员并弄清楚。如果它是您的服务器检查上述内容,以便您可以允许您的应用程序访问它。


推荐阅读