Laravel 5.7 SQLSTATE [HY000] [2002]无法建立连接

问题描述 投票:0回答:3

我正在使用laravel 5.7,我收到此错误。但它适用于旧版本。我正在使用xamp与php 7.3。*。这是我的代码

.ENV

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3308
DB_DATABASE=project
DB_USERNAME=root
DB_PASSWORD=
DB_DEFAULT=mysql

为database.php

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3308'),
            'database' => env('DB_DATABASE', 'project'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => false,
            'engine' => null,
            'default' => env('DB_DEFAULT', 'mysql')
        ],

数据库很好,我尝试连接test.php文件,其连接正常,但有laravel 5.7的问题

enter image description here

php database laravel laravel-5.7
3个回答
2
投票

此错误通常意味着目标计算机可以访问,但不在侦听该端口。

有些事要检查:

  • MySQL的默认端口是3306,而不是3308.这是否有意改变?
  • XAMPP通常要求您手动启动数据库。在线吗?
  • 如果数据库在您的本地计算机上,它是否也配置为像您的Laravel代码一样监听3308而不是3306?
  • 确保您的配置未缓存:php artisan config:clear

如果数据库不在您的本地计算机上,则很容易成为导致问题的防火墙设置。


0
投票

XAMPP检查您的PORT编号然后更改DB_PORT。我希望它有效

enter image description here

enter image description here


0
投票

经过对laravel 5.7和xamp的大量研究后,我找到了解决方案。它基本上是文件bootstrap/cache/config.php中的缓存问题。

它正在读取此配置缓存文件而不是我的新文件。我删除它,而不是它的工作正常。我非常感谢你们所有人。

© www.soinside.com 2019 - 2024. All rights reserved.