为啥 PHP artisan migrate 命令显示错误?

Posted

技术标签:

【中文标题】为啥 PHP artisan migrate 命令显示错误?【英文标题】:Why PHP artisan migrate command showing error?为什么 PHP artisan migrate 命令显示错误? 【发布时间】:2020-03-21 13:19:29 【问题描述】:

我尝试在窗口 7 上运行 xampp。我的 php 版本是 php 7.3.2。 运行composer install 后,我运行php artisan migrate

我的错误是:

SQLSTATE[HY000] [1044] 用户 ''@'localhost' 拒绝访问数据库 'inventory' (SQL: select * from information _schema.tables 其中 table_schema = 库存和 table_name = 迁移)

SQLSTATE[HY000] [1044] 用户''@'localhost'拒绝访问数据库'inventory'

【问题讨论】:

您确认您的 .env 中的用户在 mysql 中有权限吗? 您的数据库凭据似乎不正确/不完整。用户为空。检查.env文件,确保有连接数据库的用户名。 检查您的 .env 文件。如果您的配置正确,请检查 xampp 是否正常运行。 这能回答你的问题吗? PDOException (1044) SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'forge' 我明白了。谢谢 【参考方案1】:

按以下方式指定您的数据库配置: 还要确保你已经创建了一个数据库。

DB_DATABASE= db_name
DB_USERNAME= user_name
DB_PASSWORD= password

确保您的 xampp 正在运行。

然后在编辑.env 文件后运行以下命令。

php artisan config:clear

然后运行,

php artisan migrate

【讨论】:

【参考方案2】:

您忘记在 .env 文件中设置 DB_USERNAME=,因此您收到此错误:

SQLSTATE[HY000] [1044] 拒绝用户 ''@'localhost' 访问 数据库“库存”

打开 .env 文件并进行编辑。只需设置正确的数据库凭据:

DB_USERNAME=         //Your Database Username           

如果您在安装时没有默认用户名,则应将DB_USERNAME 设置为root

.env 更改后在终端输入此命令清除缓存:php artisan config:cache


注意:如果您仍然遇到错误

用 tinker 检查你的数据库配置。

php artisan tinker

然后写这个会给你整个配置检查是否正确。

>>config('database')

【讨论】:

以上是关于为啥 PHP artisan migrate 命令显示错误?的主要内容,如果未能解决你的问题,请参考以下文章

php artisan migrate 命令迁移错误

无法在 Php Storm 终端中运行 php artisan migrate:refresh 命令

当我在第 51 行运行 php artisan migrate 命令时出错

使用“php artisan migrate”命令时 Laravel 数据库迁移外键错误

我正在尝试运行 php artisan migrate 命令,但我没有得到它。我收到此错误

laravel php artisan migrate 错误(超时)