php - 托管项目时出现连接问题: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
解决方案
如果它在 localhost 上运行,则意味着您的 localhost 配置和连接代码可能是正确的。
当连接到外部服务器,尤其是数据库时,您应该记住,有些配置会阻止“每个人”连接到该服务器(防火墙、阻塞端口、IP 黑名单/白名单)。您应该联系服务器管理员并弄清楚。如果它是您的服务器检查上述内容,以便您可以允许您的应用程序访问它。
推荐阅读
- flask-appbuilder - flask-appbuilder 和包含数据库实体列表的表单/批量编辑
- python - 使用 python 将字典发送到烧瓶服务器
- amazon-web-services - 禁用 AWS 代码提交上的批准按钮,直到 PR 被批准规则模板批准
- javascript - 获取图像宽度和高度在 vue js 中工作 50% 的时间
- sql-server - SQL 中的连续月份和间隔以获得最大连续月份和最大间隔月份
- flutter - Flutter:以编程方式监控 FPS、内存和 CPU 性能
- javascript - (NestJS, TypeORM) Javascript 承诺:Finally 块在此之前被调用
- azure-data-explorer - Kusto - 帮助编写 KQL Pivot
- ruby-on-rails - 避免在 Rails #where 中绑定变量
- fiddler - 复制、修改和发送请求 POST Fiddler