【问题标题】:'php artisan migrate' remains suspended and does not cause errors'php artisan migrate' 保持挂起并且不会导致错误
【发布时间】:2020-05-11 15:58:16
【问题描述】:

我使用laravel^6.2 使用laravel new myapp 命令开始了一个新项目。

然后我编辑我的.env 文件以连接到我的本地数据库:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8082
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

然后我决定 migrate laravel 的默认数据库结构。当我说默认结构时,我指的是users 迁移,它已经从2014_10_12_000000_create_users_table.php 文件中的开头创建:

<?php

// *** This has been generated from `laravel new myapp` ***

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

所以我运行了php artisan migrate 命令,然后发生了一些意想不到的事情。确实,在那之后终端没有做任何事情,就好像它正在休息一样。我在想也许该命令需要一段时间才能执行,但经过几次尝试持续了大约十分钟,没有任何反应。

所以我决定查阅日志,但绝对没有写下来,完全是空的。

所以我尝试执行 php artisan cache:clear 并重新开始,但结果是一样的:没有错误消息,也没有任何反应。

我知道之前有人问过这个问题here,但没有真正得到答案。

有人知道我错过了什么吗?

【问题讨论】:

  • 8082端口对于MySQL来说是一个不常见的端口,通常是3306,你在你的MySQL服务器上设置了那个端口吗?
  • 您的操作系统是什么以及您如何托管您的 MySQL?如果您使用的是 xampp,xampp 将 3306 端口用于 mysql,因为它毕竟是默认端口。分享你的mysql信息。
  • @kerbholz 我的 localhost 服务器在端口 8082 上运行,但这显然与 MySql 端口无关。使用端口3306 运行良好,谢谢。我仍然对 laravel 的 cli 无法处理此错误消息感到惊讶。如果你愿意写,我很乐意验证你的答案。
  • 很高兴它有效。!

标签: php laravel


【解决方案1】:

尝试将端口更改为默认的 MySQL 端口 3306

端口 8082 听起来很不寻常,除非你在 MySQL 服务器中设置了该端口。

根据您的评论: 您的机器上运行着多个“localhost”服务器:

  • 您的本地主机 web 服务器,端口通常为 80(在您的情况下为 8082)
  • 你的本地主机 mysql 服务器,通常是 3306 端口。

也可能有一个本地主机postgres 服务器,在端口5432 运行(默认),一个本地主机redis 服务器在端口6379 或许多其他服务器。

【讨论】:

  • 没问题,很高兴我能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 2020-11-27
  • 2016-05-14
  • 2020-10-23
  • 2017-04-06
  • 2018-08-04
  • 2018-11-18
  • 2016-10-14
  • 2021-07-05
相关资源
最近更新 更多