【问题标题】:Laravel MySQL SQLSTATE[HY000] [2002] Connection refusedLaravel MySQL SQLSTATE[HY000] [2002] 连接被拒绝
【发布时间】:2016-11-03 23:35:27
【问题描述】:

所以我一直在尝试将我的数据库与宅基地建立连接,但每次我执行数据库选择语句时,我都会收到 SQLSTATE[HY000] [2002] 连接被拒绝。看来我的问题与其他同名的问题不一样。我正在使用带有虚拟盒子的宅基地

这是我的选择语句:

   <?php
         echo DB::select('select * from bruger where id = 1')
    ?>;

这只是为了检查我是否可以得到任何信息。

我在我的 .env 文件和 database.php 中都尝试了各种方法

这是他们目前的样子:

  'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', 'localhost'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => false,
        'engine' => null,
    ],

APP_ENV=local
APP_DEBUG=true
APP_KEY=randomKey
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=phpDatabase
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=secret
REDIS_PORT=33060

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

【问题讨论】:

  • 'port' => env('DB_PORT', 'localhost'), 应该是 'port' => env('DB_PORT', '33060'),
  • 已经试过了..没用

标签: php mysql database laravel connection


【解决方案1】:

对于 DB_HOST 和 DB_PORT,请尝试使用 Homestead.yaml 文件中设置的 IP 和端口。

默认:
DB_HOST=192.168.10.10
DB_PORT=3306

【讨论】:

    【解决方案2】:

    如果我理解正确的话,端口应该是 3306,因为您是从宅基地机器内访问的。

    其实看看the documentation

    您将在 Laravel 数据库配置文件中使用默认的 3306 和 5432 端口,因为 Laravel 在虚拟机中运行。

    【讨论】:

    • 好的,这给了我一个数组到字符串的转换错误,但这应该是可以管理的。谢谢
    • 那是为了尝试echo数据库查询的结果。你可以试试print_rdd函数。
    猜你喜欢
    • 2017-05-04
    • 2017-09-20
    • 2020-03-26
    • 2020-12-04
    • 2020-02-27
    • 1970-01-01
    • 2021-05-11
    • 2021-07-10
    • 2021-12-17
    相关资源
    最近更新 更多