【问题标题】:Connection problem when hosting project: SQLSTATE[HY000] [2002] Connection refused托管项目时出现连接问题:SQLSTATE[HY000] [2002] Connection denied
【发布时间】:2019-05-15 11:28:47
【问题描述】:

我正在尝试将我的项目 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

【问题讨论】:

  • 我希望那些是假的用户名和密码
  • 它给了我同样的错误,幸运的是????说真的,您不应该在公共网站上发布这些凭据。无论如何,很可能服务器拒绝连接,因此您应该询问谁在管理该服务器并询问他们,这不是 PHP/Laravel 问题。
  • 当然这些都是假凭证 :D 。无论如何,如果是服务器问题,为什么它在我的本地主机中工作??
  • 最简单的思路:你确定服务器可达吗?使用不同主机的相同设置访问同一数据库服务器的情况非常罕见

标签: php mysql laravel-5


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 2019-02-07
    • 2017-07-08
    • 2021-01-19
    相关资源
    最近更新 更多