Yii 2.0 在安装过程中迁移 yii 时出现高级错误

Yii 2.0 advanced error on yii migrate during setup

按照列出的步骤 here 设置高级应用程序。使用 yii migrate 时出现以下错误。

Yii Migration Tool (based on Yii v2.0.2)
Exception 'yii\base\InvalidConfigException' with message 'Unknown component ID: db'
in /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/di/ServiceLocator.php:136
Stack trace:
#0 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/console/controllers/MigrateController.php(96): yii\
di\ServiceLocator->get('db')
#1 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/base/Controller.php(149): yii\console\controllers\M
igrateController->beforeAction(Object(yii\base\InlineAction))
#2 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->ru
nAction('', Array)
#3 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAc
tion('', Array)
#4 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/console/Application.php(161): yii\base\Module->runA
ction('migrate', Array)
#5 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/console/Application.php(137): yii\console\Applicati
on->runAction('migrate', Array)
#6 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application-
>handleRequest(Object(yii\console\Request))
#7 /home/randall_l_smith_2_gmail_com/ngcOne/vendor/yiisoft/yii2/yii(41): yii\base\Application->run()
#8 {main}

这是我的配置文件

<?php
return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=ngcOne',
            'username' => 'root',
            'password' => '############',
            'charset' => 'utf8',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => true,
        ],
    ],
];

MySQL 似乎运行正常(使用远程 navicat 连接,基于 web 的 phpmyadmin 没有问题)。这都是在 LEMP 堆栈上设置的。

有人知道如何处理这个错误吗?

在我的例子中,我使用点击在 Google 云平台中部署 LEMP 堆栈。

按照说明进行操作 here 它并没有完全按照写的那样工作。

我会修改顺序以使其更有意义。

安装作曲家

curl -s http://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

安装应用模板

composer global require "fxp/composer-asset-plugin:1.0.0-beta4"

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

使用最适合情况的任何方法创建数据库

修改环境(开发或生产)以指向您的数据库(公共、控制台和前端)-这里的关键是不要忘记控制台配置。

运行 php init 在您的应用程序目录中,根据需要选择开发或生产。将从指定环境复制配置文件。

根据需要为您的应用程序设置文档根目录 /frontend/www/backend/www