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

时间:2015-01-23 21:47:25

标签: php mysql yii yii2

按照列出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堆栈上设置的。

任何人都对如何处理此错误有任何见解?

1 个答案:

答案 0 :(得分:2)

在我的案例中,我使用了一次点击来在Google云平台中部署LEMP堆栈。

按照说明here,它完全没有书面说明。

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

安装Composer

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

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

修改环境(dev或prod)以指向您的数据库(通用,控制台和前端) - 这里的关键点是不要忘记控制台配置。

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

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