【问题标题】:Laravel 5 Access denied for user 'homestead'@'localhost'用户'homestead'@'localhost'的Laravel 5访问被拒绝
【发布时间】:2017-10-17 07:18:49
【问题描述】:

我是 Laravel 的新手(5.5 版)。这是 config/database.php 文件:

 'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'mfa'),
            'username' => env('DB_USERNAME', 'root'),
            'password' => env('DB_PASSWORD', 'mypass'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

这是我在 routes/web.php 上的路线:

Route::get('/', function ()
{
    Schema::create('books',function($newtable){
        $newtable->increments('id');
        $newtable->string('writer');
        $newtable->string('title',500);
        $newtable->text('description');
        $newtable->date('published');
        $newtable->integer('copies');
        $newtable->timestamps();
    });
    return view('welcome');
});

数据库存在,名为'mfa',用户名是'root'。尽管它是“root”,但它似乎正在尝试以“homestead”身份登录。这是一个错误代码:SQLSTATE[HY000] [1045]

【问题讨论】:

  • 检查一下你的 .env 文件存在于你的 laravel 项目的根目录中
  • 检查.env文件或环境变量。
  • 出现错误后,我也编辑了。更改后错误保持不变。 /.env:
  • @smus 你能分享你的.envfile 代码吗
  • 查看mysql用户和每个用户对数据库的分配

标签: php laravel-5.5


【解决方案1】:

先运行此命令清除缓存:php artisan config:clear


.env 文件:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:Pf8bqFhStKix4rtdt1FOgvPpudMqsYyw+Uv+dOvaF8w=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mfa
DB_USERNAME=root
DB_PASSWORD=mypass

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

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

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

'mysql' => [
            'driver'    => 'mysql',
            'port' => env('DB_PORT', '3306'),
            'host'      => env('DB_HOST', 'localhost'),  //127.0.0.1
            'database'  => env('DB_DATABASE', 'mfa'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', 'smus82'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

注意:更改.env 文件后,您需要重新启动服务器。应用设置。

【讨论】:

  • 我知道,我清了几次缓存,重新加载了服务器
  • @smus .. 你用的是哪个服务器??
  • 我不知道你现在使用的是哪个服务器,所以试试 laravel 服务器:-php artisan serve 并检查它的工作吗?还是不行!!
  • 我之前就知道清缓存。它没有解决问题。有人有想法吗?
  • 在编辑 .env 后重新启动 php artisan serve 对我有用
【解决方案2】:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:Pf8bqFhStKix4rtdt1FOgvPpudMqsYyw+Uv+dOvaF8w=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mfa
DB_USERNAME=root
DB_PASSWORD=mypass

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

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

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=

【讨论】:

    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 2017-10-14
    • 2015-06-03
    • 2019-01-23
    • 2015-06-04
    • 2017-03-24
    • 1970-01-01
    相关资源
    最近更新 更多