Console app not running?

I’ve a console controller, ImportController:


  <?php

    

    namespace console\controllers;

    

    class ImportController extends \yii\console\Controller

    {

        public function actionHeatMeter()

        {

        	$this->layout = 'blank';

            return $this->render('heatmeter');

        }

    

        public function actionIndex()

        {

            echo "in the import controller!";

            //return $this->render('index');

        }

    

    }



I’m trying to call it with


    php yii import

No errors, not echoing ‘in the import controller!’, nothing.

Have I written something backwards? I feel like I am going a bit mad.

my config file here: http://pastebin.com/ft64khz3 Nothing in the apache logs either…

app.log is not generating for console, either. I can’t find anything in any log that relates to it.

Do you see the "import" controller as an option if you run


 php yii help

?

I don’t see anything at all? It must be some config thing, but no error is being thrown.

I copied the yii file to the root and modified the paths, hat’s where I’m running it from…


#!/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);


// fcgi doesn't have STDIN and STDOUT defined by default

defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));

defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));


$composerAutoload = [

    __DIR__ . '/vendor/autoload.php', // in yii2-dev repo

    //__DIR__ . '/../../autoload.php', // installed as a composer binary

];

$vendorPath = null;

foreach ($composerAutoload as $autoload) {

    if (file_exists($autoload)) {

        require($autoload);

        $vendorPath = dirname($autoload);

        break;

    }

}




require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');


$application = new yii\console\Application([

    'id' => 'yii-console',

    'basePath' => __DIR__ . '/console',

    'controllerNamespace' => 'yii\console\controllers',

]);

if (isset($vendorPath)) {

    $application->setVendorPath($vendorPath);

}

$exitCode = $application->run();

exit($exitCode);




Ha! I fixed it. Well - I unbroke it.

I had a ‘return’ in my helpers/console.php instead of the expected function. For some reason, my local environment wasn’t spitting out any error - when I tested it on the staging server it did.