When I'm trying to run yii2 console command - I just get list of commands in response: The following commands are available:
- asset Allows you to combine and compress your JavaScript and CSS files.
asset/compress (default) Combines and compresses the asset files according to the given configuration.
asset/template Creates template of configuration file for [[actionCompress]].
...
No, I'm not just running php yii, I can run php yii migrate/create test and it will respond with list of command and do nothing.
Here is my yii file:
#!/usr/bin/env php
<?php
/**
* Yii console bootstrap file.
*/
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/common/config/bootstrap.php';
require __DIR__ . '/console/config/bootstrap.php';
$config = yii\helpers\ArrayHelper::merge(
require __DIR__ . '/common/config/main.php',
require __DIR__ . '/common/config/main-local.php',
require __DIR__ . '/common/config/test.php',
require __DIR__ . '/common/config/test-local.php',
require __DIR__ . '/console/config/main.php',
require __DIR__ . '/console/config/main-local.php',
require __DIR__ . '/console/config/test.php',
require __DIR__ . '/console/config/test-local.php'
);
$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);
And here is my console config:
<?php
$params = array_merge(
require __DIR__ . '/../../common/config/params.php',
require __DIR__ . '/../../common/config/params-local.php',
require __DIR__ . '/params.php',
require __DIR__ . '/params-local.php'
);
return [
'id' => 'app-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'console\controllers',
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
'controllerMap' => [
'fixture' => [
'class' => \yii\console\controllers\FixtureController::class,
'namespace' => 'common\fixtures',
],
],
'components' => [
'log' => [
'targets' => [
[
'class' => \yii\log\FileTarget::class,
'levels' => ['error', 'warning'],
],
],
],
],
'params' => $params,
];
What's wrong?
To use the migration commands, you must add the
yii\console\controllers\MigrateControllerto the console configuration file .I leave an example of how to add in the code below.