【问题标题】:Laravel 5.6 | PHP artisan migrate not workingLaravel 5.6 | PHP工匠迁移不起作用
【发布时间】:2018-09-24 20:41:03
【问题描述】:

我已经尝试了很多我在谷歌搜索这个问题时看到的东西,但没有任何东西对我有用。

我正在运行带有 MAMP 的 Mac OS 10.13.4。此命令适用于我的带有 XAMPP 的 Windows 机器。

我尝试过的事情:

  • 将 `.env` 中的 `127.0.0.1` 更改为 `localhost`
  • 更改:`.env` 中的 `DB_PORT` 从 `3306` 到 `8889`
  • 添加:`'unix_socket' => '/tmp/mysql.sock'`,到`config\database.php`

这是在终端输入php artisan migrate -v 时返回的内容。

SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = b_rowland and table_name = migrations)

  at /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php: 664
  660:         // If an exception occurs when attempting to run a query, we'll format the error
  661:         // message to include the bindings with SQL, which will make this exception a
  662:         // lot more helpful to the developer instead of just the database's errors.
  663:         catch (Exception $e) {
  664:             throw new QueryException(
  665:                 $query, $this->prepareBindings($bindings), $e
  666:             );
  667:         }
  668: 
  669:         return $result;

  Exception trace:

  1   PDOException::("SQLSTATE[HY000] [2002] No such file or directory")
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php : 68

  2   PDO::__construct("mysql:unix_socket=/tmp/mysql.sock;dbname=b_rowland", "root", "", [])
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php : 68

  3   Illuminate\Database\Connectors\Connector::createPdoConnection("mysql:unix_socket=/tmp/mysql.sock;dbname=b_rowland", "root", "", [])
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php : 44

  4   Illuminate\Database\Connectors\Connector::createConnection("mysql:unix_socket=/tmp/mysql.sock;dbname=b_rowland", [])
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connectors/MySqlConnector.php : 24

  5   Illuminate\Database\Connectors\MySqlConnector::connect()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php : 183

  6   Illuminate\Database\Connectors\ConnectionFactory::Illuminate\Database\Connectors\{closure}()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 915

  7   call_user_func(Object(Closure))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 915

  8   Illuminate\Database\Connection::getPdo()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 940

  9   Illuminate\Database\Connection::getReadPdo()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 399

  10  Illuminate\Database\Connection::getPdoForSelect()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 325

  11  Illuminate\Database\Connection::Illuminate\Database\{closure}("select * from information_schema.tables where table_schema = ? and table_name = ?")
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 657

  12  Illuminate\Database\Connection::runQueryCallback("select * from information_schema.tables where table_schema = ? and table_name = ?", Object(Closure))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 624

  13  Illuminate\Database\Connection::run("select * from information_schema.tables where table_schema = ? and table_name = ?", Object(Closure))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 333

  14  Illuminate\Database\Connection::select("select * from information_schema.tables where table_schema = ? and table_name = ?")
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Schema/MySqlBuilder.php : 18

  15  Illuminate\Database\Schema\MySqlBuilder::hasTable("migrations")
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php : 169

  16  Illuminate\Database\Migrations\DatabaseMigrationRepository::repositoryExists()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php : 545

  17  Illuminate\Database\Migrations\Migrator::repositoryExists()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php : 97

  18  Illuminate\Database\Console\Migrations\MigrateCommand::prepareDatabase()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php : 63

  19  Illuminate\Database\Console\Migrations\MigrateCommand::handle()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php : 29

  20  call_user_func_array([])
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php : 29

  21  Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php : 87

  22  Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Object(Closure))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php : 31

  23  Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), [])
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Container/Container.php : 564

  24  Illuminate\Container\Container::call()
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Console/Command.php : 183

  25  Illuminate\Console\Command::execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/symfony/console/Command/Command.php : 252

  26  Symfony\Component\Console\Command\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Console/Command.php : 170

  27  Illuminate\Console\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/symfony/console/Application.php : 865

  28  Symfony\Component\Console\Application::doRunCommand(Object(Illuminate\Database\Console\Migrations\MigrateCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/symfony/console/Application.php : 241

  29  Symfony\Component\Console\Application::doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/symfony/console/Application.php : 143

  30  Symfony\Component\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Console/Application.php : 88

  31  Illuminate\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php : 122

  32  Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
      /Users/blazerowland/Documents/Sites/Personal/Portfolio/artisan : 37

【问题讨论】:

  • 使用MAMP的网页在.env中显示的配置。希望它会起作用。

标签: php laravel macos mamp


【解决方案1】:

在您的 .env 文件中,关于您的数据库配置,您是否填写了所有设置?

这是环境变量:

DB_CONNECTION=
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

另外,如果你使用 mysql sock,你需要 DB_SOCKET=/mysql.sock

【讨论】:

    【解决方案2】:

    尝试使用改变环境。

     php artisan migrate --env=dev
    

    【讨论】:

      【解决方案3】:

      尝试在您的终端中执行此操作:

       php artisan migrate --env=dev
      

      【讨论】:

        【解决方案4】:

        我使用 XAMPP 在 MacOS 上工作,必须将其添加到 .env 文件中: DB_SOCKET=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

        【讨论】:

          【解决方案5】:

          愚蠢的答案,但仍然是一个答案。
          跨 MAMP 和 Laravel .env 将我的服务器端口从 3306 更改为 4444。
          对我来说很奇怪,我尝试过的所有其他端口都不起作用。希望这对其他人有帮助。

          【讨论】:

            【解决方案6】:

            这对你应该没问题!

            转到位于项目中 app 文件夹的 Providers 目录中的 AppServiceProvider.php 文件。例如C:\xampp\htdocs\projectName\app\providers\AppServiceProvider.php

            然后输入以下内容:

            use Illuminate\Support\Facades\Schema;
            

            同样在同一个文件中,将引导函数编辑成这种格式。

            public function boot()
            {
                `Schema::defaultStringLength(255);
            }
            

            【讨论】:

            • 您能否添加一些解释,为什么您的答案可以解决 OP 的问题?
            【解决方案7】:

            遇到类似问题,我无法执行 artisan 命令,并且 composer Update 和 dump-autoload 命令返回错误“Script @php artisan package:discover --ansi handling the post-autoload-dump event返回错误代码 255 "

            在我的情况下,问题既不是作曲家也不是工匠命令,而是在处理 Exceptions/Handler.php 文件时由于 } 放错位置而导致的错误。我建议检查对默认 Laravel 文件的任何最近修改。希望这可以帮助某人。编码愉快。

            【讨论】:

              猜你喜欢
              • 2015-12-18
              • 2021-02-21
              • 2018-09-26
              • 1970-01-01
              • 2016-04-16
              • 2013-02-05
              • 1970-01-01
              • 2018-12-02
              • 1970-01-01
              相关资源
              最近更新 更多