无法通过 artisan 命令运行迁移

Posted

技术标签:

【中文标题】无法通过 artisan 命令运行迁移【英文标题】:Unable to run migration via artisan command 【发布时间】:2020-08-16 01:46:33 【问题描述】:

我有一个 Laravel 7 项目并将其推送到实时服务器进行生产,但我无法成功运行迁移。我总是收到错误“拒绝访问”错误。

我可以确认该命令看到 .env 文件并且连接详细信息都正确。当我 ssh 进入服务器并使用保存在 .env 文件中的相同参数运行 mysql 命令时,连接成功。将详细信息添加到工作台和 SequelPro 也可以,所以我不确定为什么 php artisan migrate 不起作用

【问题讨论】:

你运行了 php artisan config:clear 吗? 是的,我确实运行了 config:clear 但同样的错误 Ok 运行php artisan tinker 然后执行env('DB_USERNAME') 等等看看系统打印了什么 好的,所以这非常有用,应该是一个答案。为什么 laravel 会修剪 DB_PASSWORD 中的密码?还是dotenv?好像有限制? 好的,我将把它作为答案发布。是的env 认为这是一个字符串。在内部它使用dotenv 【参考方案1】:

运行以下命令:

php artisan tinker

Tinker 是 Laravel 自己的复制品。

它会提示您输入命令。在这里,您可以通过在env 方法中输入字符串来检查和打印环境变量的值。

>>> env('DB_DATABASE')

其他数据库参数以此类推。

希望这会有所帮助。

如需更多帮助,您可以查看 tinker 的官方 Github 存储库: https://github.com/laravel/tinker

【讨论】:

以上是关于无法通过 artisan 命令运行迁移的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 和 Artisan 在 Laravel 5 和 Lumen 上进行迁移

php artisan migrate 命令迁移错误

无法 php artisan 迁移 - Laravel

如何一次运行 Laravel artisan 迁移?

Laravel 的 Artisan 没有说要迁移

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