Konsola nie reaguje

Czesć, co moze być powodem, żę konsola w ogóle nie działa? wpisuje np yii help i nic

Na drugim czystym projekcie konsola normalnie działa.

Config konsoli implementuje ustawienia common. W komunikacje błędu powinna być informacja co dokładnie jest winowajcą.

Jeżeli nie masz komunikatu błędu, potestuj (choć go pewnie masz ale nie chciało Ci się go kleić). Mi ostatnio wywalało przez brak elementu z modułu User:


'user' => [

	'class' => 'yii\web\User',

         'identityClass' => 'common\models\User',

         'enableAutoLogin' => true,

        ],

Plik /console/main.php implementuje ustawienia z plików


   require(__DIR__ . '/../../common/config/params.php'),

    require(__DIR__ . '/../../common/config/params-local.php'),

    require(__DIR__ . '/params.php'),

    require(__DIR__ . '/params-local.php')

I zapewne w params.php lub params-local.php coś zmieniłeś co nie stworzyło problemu dla aplikacji app, frontend lub backend ale dla console już tak.

Możliwe, żę coś usunąłem skądś ale, usunąłem na chwilę zawartość pliku /console/main.php i nic, dalej w ogóle nic nie pokazuje. Po prostu tak jak na screenie, prosi o kolejne polecenie.

Jak sprawdzić by w ogóle jakiś błąd wyrzucił?

Jak wpisze jakieś bzdury typu "dsffs" to wyrzuca że nie zna tego polecenia, czyli ok, ale jak wpisze jakieś normalne polecenie to nic się nie dzieje… w logu tez jakieś stare dane z lutego mam.

Generalnie polecenia composera działają, ale te od yii już nie.

Jeżeli działa Ci czysta instalacja porównaj swoje pliki konfigu common i console. Może w tedy znajdziesz problem.

Nie podając swojego kodu trudno się domyślić co jest nie tak.

Porównywałem i nic nie idzie znaleźć.

Np

php yii migrate/up --migrationPath=@yii/rbac/migrations w ogóle nie reaguje, tak jak by się wykonało i nic nie stało

Mógłbym kod wrzucić, ale z czego?

wrzucam mainy, bo reszty nie ruszałem nawet.

backend/config/main


<?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-backend',

    'basePath' => dirname(__DIR__),

    'controllerNamespace' => 'backend\controllers',

    'bootstrap' => ['log'],

    'modules' => [

        'user' => [

            'class' => 'dektrium\user\Module',

            'controllerMap' => [

                'admin' => 'backend\controllers\user\AdminController'

            ],

        ],




        'utility' => [

            'class' => 'c006\utility\migration\Module',

        ],


        'rbac' => [

            'class' => 'dektrium\rbac\Module',

        ],


        'gridview' =>  [

            'class' => '\kartik\grid\Module'

            // enter optional module parameters below - only if you need to

            // use your own export download action or custom translation

            // message source

            // 'downloadAction' => 'gridview/export/download',

            // 'i18n' => []

        ],

//

//        'user' => [

//            // following line will restrict access to profile, recovery, registration and settings controllers from backend

//            'as backend' => 'dektrium\user\filters\BackendFilter',

//

//        ],

],


    'components' => [







        'view' => [

            'theme' => [

                'pathMap' => [

                    '@dektrium/user/views' => '@app/views/user/registration',


                ],

            ],

        ],


        'i18n' => [

            'translations' => [

                'app*' => [

                    'class' => 'yii\i18n\PhpMessageSource',

                    //'basePath' => '@app/messages',

                    //'sourceLanguage' => 'en-US',

                    'fileMap' => [

                        'app' => 'app.php',

                        'app/error' => 'error.php',

                    ],

                ],

            ],

        ],

//        'user' => [

//            'identityClass' => 'common\models\User',

//            'enableAutoLogin' => true,

//        ],





        'urlManager'=>[

            'enablePrettyUrl'=>true,

            'showScriptName'=>false,

            'rules'=>[

                '<controller:\w+>/<id:\d+>' => '<controller>/view',


                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',


                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',


                ' <module:user>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',


                'site/page/view/<view:\w+>' => 'site/page',


                'debug/<controller>/<action>' => 'debug/<controller>/<action>',


            ],




        ],




        'urlManagerFrontEnd' => [

            'class' => 'yii\web\urlManager',

            'baseUrl' => '/Kino/advanced/frontend/web',

            'enablePrettyUrl' => true,

            'showScriptName' => false,

        ],




        'urlManagerForgotPassword' => [

            'class' => 'yii\web\urlManager',

            'baseUrl' => '/Kino/advanced/frontend/web/site/request-password-reset',

            'enablePrettyUrl' => true,

            'showScriptName' => false,


        ],




        'urlManagerRegister' => [

            'class' => 'yii\web\urlManager',

            'baseUrl' => '/Kino/advanced/frontend/web/site/signup',

            'enablePrettyUrl' => true,

            'showScriptName' => false,


        ],







            'log' => [

                'traceLevel' => YII_DEBUG ? 3 : 0,

                'targets' => [

                    [

                        'class' => 'yii\log\FileTarget',

                        'levels' => ['error', 'warning'],

                    ],

                ],

            ],

            'errorHandler' => [

                'errorAction' => 'site/error',

            ],

        ],




        'params' => $params,

    ];



common/config/main


<?php

return [

    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',


    'modules' => [

        'user' => [

            'class' => 'dektrium\user\Module',


            'enableRegistration'=>true,

            'enableGeneratingPassword'=> false,

            'enableUnconfirmedLogin' => false,

            'enableConfirmation'=>false,

            'confirmWithin' => 21600,

            'cost' => 12,

            'admins' => ['admin'],




        ],




    ],

    

    'components' => [




        'view' => [

            'theme' => [

                'pathMap' => [

                    '@dektrium/user/views' => '@app/views/user'

                ],

            ],

        ],





        'cache' => [

            'class' => 'yii\caching\FileCache',

        ],




    ],

];



console/config/main


<?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',


    'components' => [

        'log' => [

            'targets' => [

                [

                    'class' => 'yii\log\FileTarget',

                    'levels' => ['error', 'warning'],

                ],

            ],

        ],

    ],




    'params' => $params,

];



frontend/config/main


<?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-frontend',

    'basePath' => dirname(__DIR__),

    'language'=>'pl',

    'bootstrap' => ['log'],

    'defaultRoute' => 'glowna',

    'modules'=>[


        

            'user' => [

                // following line will restrict access to admin controller from frontend application

                'as frontend' => 'dektrium\user\filters\FrontendFilter',

            ],


    ],

    'controllerNamespace' => 'frontend\controllers',

    'components' => [

        'view' => [

            'theme' => [

                'pathMap' => [

                    '@dektrium/user/views' => '@app/views/user'

                ],

            ],

        ],




        'urlManager'=>[

            'enablePrettyUrl'=>true,

            'showScriptName'=>false,

            'rules'=>[

                '<controller:\w+>/<id:\d+>' => '<controller>/view',


                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',


                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',





                'site/page/view/<view:\w+>' => 'site/page',


                'debug/<controller>/<action>' => 'debug/<controller>/<action>',


            ],




        ],

        'urlManagerBackend' => [

            'class' => 'yii\web\urlManager',

            'baseUrl' => '/Kino/advanced/backend/web',

            'enablePrettyUrl' => true,

            'showScriptName' => false,

        ],


//        'user' => [

//            'identityClass' => 'common\models\User',

//            'enableAutoLogin' => true,

//        ],

        'log' => [

            'traceLevel' => YII_DEBUG ? 3 : 0,

            'targets' => [

                [

                    'class' => 'yii\log\FileTarget',

                    'levels' => ['error', 'warning'],

                ],

            ],

        ],

        'errorHandler' => [

            'errorAction' => 'site/error',

        ],


        

    ],

    'params' => $params,

];



Znalazłem problem… nie wiem jakim cudem, ale plik o nazwie yii w folderze głownym aplikacji był pusty… jak to działało wszystko to nie mam pojęcia…


#!/usr/bin/env php

<?php

/**

 * Yii console bootstrap file.

 *

 * @link http://www.yiiframework.com/

 * @copyright Copyright (c) 2008 Yii Software LLC

 * @license http://www.yiiframework.com/license/

 */


defined('YII_DEBUG') or define('YII_DEBUG', true);

defined('YII_ENV') or define('YII_ENV', 'dev');


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__ . '/console/config/main.php'),

    require(__DIR__ . '/console/config/main-local.php')

);


$application = new yii\console\Application($config);

$exitCode = $application->run();

exit($exitCode);

Tak wygląda w czystej aplikacji. A u mnie było pusto… hmm wczoraj skanowałem dysk malwarebytes i znalazł 880 plików zarażonych… może w to on wyczyścił ten plik ?