php artisan migrate - 错误 - Illuminate\Database\QueryException : SQLSTATE[HY000] [2054]

And*_*ovs 2 php migrate laravel-artisan

执行时出现以下错误:

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

错误:

Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] 服务器请求客户端未知的身份验证方法(SQL:select * from information_schema.tables where table _schema = d1 and table_name = migrations)

这是一个截图;

在此处输入图片说明

附注。以防万一:我在php.ini文件中启用了“extension=pdo_mysql” 。

任何想法如何解决这一问题?

小智 5

嗨,正如这篇文章中提到的:

Laravel-新闻

这是一个典型的Windows问题。

提到的解决方案是:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}
Run Code Online (Sandbox Code Playgroud)

在 AppServiceProvider.php 里面


fat*_*ico 0

我也被困在这个问题上有一段时间了。php migrate 对我有用的一种解决方案是打开 Connection.php 并注释掉异常或替换这些异常,以便运行时不会出现错误。这对我有用。如果您发现任何其他解决方案/任何更改,请告诉我。

或者,也许是更好的解决方案:

在 app/config 下的 database.php 中,添加以下内容:

'connections' => [

    'mysql' => [
        'driver'      => 'mysql',
        'host'        => env( 'DB_HOST', '127.0.0.1' ),
        'port'        => env( 'DB_PORT', '3306' ),
        'database'    => env( 'DB_DATABASE', 'forge' ),
        'username'    => env( 'DB_USERNAME', 'forge' ),
        'password'    => env( 'DB_PASSWORD', '' ),
        'unix_socket' => env( 'DB_SOCKET', '' ),
        'charset'     => 'utf8mb4',
        'collation'   => 'utf8mb4_unicode_ci',
        'prefix'      => '',
        'strict'      => true,
        'engine'      => null,
        'modes'       => [
            'ONLY_FULL_GROUP_BY',
            'STRICT_TRANS_TABLES',
            'NO_ZERO_IN_DATE',
            'NO_ZERO_DATE',
            'ERROR_FOR_DIVISION_BY_ZERO',
            'NO_ENGINE_SUBSTITUTION',
        ],
    ],
],
Run Code Online (Sandbox Code Playgroud)