我使用 Yii2 控制台应用程序来运行迁移。这是一个非常基本的应用程序,它是这样的(项目的 / 文件夹中的 yii.php):
<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/vendor/yiisoft/yii2/Yii.php';
$config = require __DIR__ . '/config/console.php';
(new yii\console\Application($config))->run();
?>
Run Code Online (Sandbox Code Playgroud)
所以当我跑
php yii.php
Run Code Online (Sandbox Code Playgroud)
一切都很好,但是当我跑步时
php yii.php migrate/create create_user_table
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
Error: Failed to instantiate component or class "db".
Run Code Online (Sandbox Code Playgroud)
我的 Yii 是 v2.0.15.1
UPD 19:32 30/12/2018 当我将 db 配置添加到 config/console.php 时,如下所示:
return [
'id' => 'school-console',
'basePath' => dirname(__DIR__),
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=school',
'username' => 'root',
'password' => 'Taras1love',
'charset' => 'utf8',
]
];
Run Code Online (Sandbox Code Playgroud)
我明白了:
Error: Setting read-only property: yii\console\Application::db
Run Code Online (Sandbox Code Playgroud)
您缺少控制台应用程序的数据库组件配置,您需要在config/console.php文件中添加以下内容。当您使用basic-appYii2 时,您必须有一个db.php包含数据库配置的文件,您需要像下面一样包含它
//this goes on the top of your `console.php` file
$db = require __DIR__ . '/db.php',
return [
'id' => 'myapp-console',
'basePath' => dirname(__DIR__)
//add the db component
'components' => [
'db' => $db,
]
];
Run Code Online (Sandbox Code Playgroud)
您的文件夹db.php内应该如下所示,更改、和config的值。usernamepassworddbname
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=YOUR_DB_NAME',
'username' => 'DB_USER',
'password' => 'DB_PASS',
'charset' => 'utf8',
];
Run Code Online (Sandbox Code Playgroud)
config/console.php或者如果您不想创建单独的文件,您可以将其分配在
return [
'id' => 'myapp-console',
'basePath' => dirname(__DIR__)
//add the db component
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=YOUR_DB_NAME',
'username' => 'DB_USER',
'password' => 'DB_PASS',
'charset' => 'utf8',
]
]
];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4813 次 |
| 最近记录: |