Add console test for baseUrl usage
schmunk42 opened this issue · comments
Tobias Munk commented
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}
Tobias Munk commented
Fixed in dockerized setup.
Tomas Illo commented
Hi schmunk42, can you pls explain to me the solution of this problem ? if you still remember of course
Tobias Munk commented
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.
Tomas Illo commented
thanks,, it works now