phundament / app

Dockerized Yii2 web application base

Home Page:http://phundament.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add console test for baseUrl usage

schmunk42 opened this issue · comments

Example error, if not configured correctly:

Exception 'yii\base\InvalidConfigException' with message 'Please configure UrlManager::baseUrl correctly as you are running a console application.'

in /path-to-project/vendor/yiisoft/yii2/web/UrlManager.php:388

Stack trace:
#0 /path-to-project/vendor/yiisoft/yii2/web/UrlManager.php(309): yii\web\UrlManager->getBaseUrl()
#1 /path-to-project/vendor/yiisoft/yii2/helpers/BaseUrl.php(96): yii\web\UrlManager->createUrl(Array)
#2 /path-to-project/vendor/yiisoft/yii2/helpers/BaseUrl.php(202): yii\helpers\BaseUrl::toRoute(Array, false)
#3 /path-to-project/vendor/dmstr/yii2-widgets-module/Module.php(21): yii\helpers\BaseUrl::to(Array)
#4 /path-to-project/vendor/yiisoft/yii2/base/Object.php(107): dmstr\modules\widgets\Module->init()
#5 /path-to-project/vendor/yiisoft/yii2/base/Module.php(138): yii\base\Object->__construct(Array)
#6 [internal function]: yii\base\Module->__construct('widgets', Object(yii\console\Application), Array)
#7 /path-to-project/vendor/yiisoft/yii2/di/Container.php(366): ReflectionClass->newInstanceArgs(Array)
#8 /path-to-project/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('\\dmstr\\modules\\...', Array, Array)
#9 /path-to-project/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('\\dmstr\\modules\\...', Array, Array)
#10 /path-to-project/vendor/yiisoft/yii2/base/Module.php(354): yii\BaseYii::createObject(Array, Array)
#11 /path-to-project/vendor/yiisoft/yii2/console/controllers/HelpController.php(140): yii\base\Module->getModule('widgets')
#12 /path-to-project/vendor/yiisoft/yii2/console/controllers/HelpController.php(77): yii\console\controllers\HelpController->getModuleCommands(Object(yii\console\Application))
#13 /path-to-project/vendor/yiisoft/yii2/console/controllers/HelpController.php(89): yii\console\controllers\HelpController->getCommands()
#14 /path-to-project/vendor/yiisoft/yii2/console/controllers/HelpController.php(184): yii\console\controllers\HelpController->getCommandDescriptions()
#15 /path-to-project/vendor/yiisoft/yii2/console/controllers/HelpController.php(67): yii\console\controllers\HelpController->getDefaultHelp()
#16 [internal function]: yii\console\controllers\HelpController->actionIndex(NULL)
#17 /path-to-project/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)
#18 /path-to-project/vendor/yiisoft/yii2/base/Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#19 /path-to-project/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->runAction('', Array)
#20 /path-to-project/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAction('', Array)
#21 /path-to-project/vendor/yiisoft/yii2/console/Application.php(161): yii\base\Module->runAction('', Array)
#22 /path-to-project/vendor/yiisoft/yii2/console/Application.php(137): yii\console\Application->runAction('', Array)
#23 /path-to-project/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#24 /path-to-project/yii(26): yii\base\Application->run()
#25 {main}

CC: @marc7000 @disco-tex77 @Konrad90

Fixed in dockerized setup.

Hi schmunk42, can you pls explain to me the solution of this problem ? if you still remember of course

As the error says, a console application does not know the base URL of the application, therefore you need to set it manually in the urlManager component, like so.

thanks,, it works now