为啥 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 Storm 终端中运行 php artisan migrate:refresh 命令
当我在第 51 行运行 php artisan migrate 命令时出错
使用“php artisan migrate”命令时 Laravel 数据库迁移外键错误