首页 > 解决方案 > 为什么 laravel 在控制台上连接到 mysql 而不是在 api 或 web 上?

问题描述

我已经在这个疯狂的问题上苦苦挣扎了好几天。

我正在使用 laravel 7,我可以轻松地在我的实时服务器上的控制台上运行迁移命令而不会出现问题,但是每当我发出 api 请求或访问访问数据库的路由时,我都会收到以下错误:

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: select * from `users` where `users`.`deleted_at` is null)

这根本不会在本地发生,我什至不知道如何开始尝试修复它。这是我的 .env 配置

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:DbtYDJ+yQV63X30kyxfoCRpgAMkjDNOdDVPPShePNFo=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

JWT_SECRET=oO71aEHHOVlngmeYGV8mS4XrJV0ljCjbSC3BBKJRrgTq3r1OZwQbuE5r8LPhFnEY

任何帮助将不胜感激。

标签: phpmysqllaravel

解决方案


试试这个看看

php artisan config:cache
php artisan config:clear
php artisan cache:clear

推荐阅读