繁体   English   中英

php 工匠迁移卡在命令开头

[英]php artisan migrate stuck at the beginning of the command

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

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

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

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

php migrate list工程

它可以是什么?

经过大量的反复试验,我发现我的 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]'
  • 当您按 Enter 时,它会要求您输入密码。 现在输入 MySql 社区服务器在安装时在提示中提供给您的随机生成的密码。

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

对我来说,它有助于重新启动本地数据库。

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

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

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

带有 SQLite 的 Laravel 5.8。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM