【问题标题】:php artisan migrate stuck at the beginning of the commandphp artisan migrate 卡在命令开头
【发布时间】:2019-01-12 03:06:51
【问题描述】:

[MacOS 10.14.0] 当我创建一个新项目时 (Laravel new blog) 然后在 MySQL 中创建一个表 (create database blog) 然后用正确的用户名、密码和数据库更新我的 .env 文件。

创建项目后,我会运行php artisan migrate 但是我的终端一直是空的,我可以输入我的终端。但它不会做任何事情。

我的存储/日志文件夹是空的。

我的数据库/迁移文件夹中有 2 个默认迁移文件。

php migrate list 有效

会是什么?

【问题讨论】:

  • 你试过重启系统了吗?好像你有另一个进程附加到 MySQL

标签: php laravel laravel-5 laravel-artisan artisan-migrate


【解决方案1】:

您是否将 laravel 项目从 .env 文件连接到数据库?

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=DATABASE_NAME
DB_USERNAME=DATABASE_USERNAME
DB_PASSWORD=DATABASE_PASSWORD

【讨论】:

  • 正如我在问题的第二行所说的,是的,我确实更新了我的 .env 文件将正确配置连接到我的数据库。
  • 可能是您的应用程序与数据库之间的连接问题,请尝试重新启动您的mysql服务并再次检查root用户和密码并再次运行php artisan migrate
  • 我建议 mac 使用 laradock 其用于 laravel 的出色 docker 服务器,并让您更轻松地查看它:laradock.io
【解决方案2】:

经过多次反复试验,我发现我的 MySQL 服务器有问题。我用brew重新安装了MySQL。最新版本 8 和最新版本 5.7.*。由于以下冲突,两者都不起作用:Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found

所以一直以来,我的 .env 文件中的所有内容都是正确的,但我的 MySQL 坏了。我还通过尝试连接应用程序“Sequel Pro”确认了这一点。正如我所想,它给了我同样的冲突。

我是如何解决这个问题的:

  • 通过 brew 删除所有 MySQL/MariaDB 软件包(如果您像我一样使用 brew 安装了它们)
  • 从官方 mysql.com 网站安装 MySQL Community Server 5.7.*(您可以 google 那个文件)。
  • 将 MySQL 添加到您的路径 export PATH=$PATH:/usr/local/mysql/bin
  • 转至:System Preferences -> MySQL -> press 'Start MySQL Server'
  • 用一个新的mysqladmin -uroot -p[temporary password] password '[new password]'更改您的临时密码

祝你好运! ?


2019 年 2 月 26 日编辑:
我发现更改随机生成的密码有问题。我使用的是 MySQL Community Server 5.7.25,随机生成的密码是:_>9mxWc9a!0.。当我尝试使用上面的命令更改默认密码时。我收到以下错误:
-bash: !0: event not found
如果您遇到与我相同或类似的错误,请尝试以下操作:

  • 在终端中输入以下命令:mysqladmin -uroot -p password '[new password]'
  • 当你按下回车键时,它会要求你输入密码。现在在提示符中输入 MySql 社区服务器在安装时提供给您的随机生成的密码。

它现在应该可以工作了! ?

【讨论】:

    【解决方案3】:

    对我来说,重启本地数据库很有帮助。

    【讨论】:

      【解决方案4】:

      带有 SQLite 的 Laravel 5.8。

      我的问题不在于 larvel,而在于用于 sqlite 的 DB 浏览器。我必须打开和关闭程序才能完成迁移过程。

      【讨论】:

        【解决方案5】:

        如果您使用 Docker 并在主机上收到此错误,请尝试在容器 cli 中运行迁移。

        【讨论】:

          猜你喜欢
          • 2018-07-28
          • 2017-09-27
          • 2016-09-07
          • 2019-10-29
          • 2017-05-31
          • 2017-10-10
          • 2020-12-16
          • 2020-10-23
          • 2020-03-21
          相关资源
          最近更新 更多