How to get base URL in a Yii CConsoleApplication
application?
I tried Yii::app()->request->getBaseUrl(true)
and ended up with the following error.
Undefined index: SERVER_NAME (/var/www/yii/framework/web/CHttpRequest.php:279)
How to get base URL in a Yii CConsoleApplication
application?
I tried Yii::app()->request->getBaseUrl(true)
and ended up with the following error.
Undefined index: SERVER_NAME (/var/www/yii/framework/web/CHttpRequest.php:279)
There is no request object in a console application. the request object in a web application its an instance of CHttpRequest, if you are generating URLs in an offline task, you have to configure the baseUrl in some other way, perhaps in the configuration:
"request" => array(
'hostInfo' => 'http://localhost',
'baseUrl' => '/yii-project/index-test.php',
),
// OR
'request' => array(
'hostInfo' => 'http://localhost',
'baseUrl' => '/yii-project',
'scriptUrl' => 'index-test.php',
),
Property "CConsoleApplication.request" is read only.
–
Overlie For Yii2 advanced template, create params.php
file if it doesn't exist in config
directory of your console or common app and paste the following code:
return [
'frontendUrl' => 'http://yourdomain.com'
];
So that it can be accessed in the following way in console:
echo Yii::$app->params['frontendUrl'];
You have to add in config/console.php in components array
'request' => array(
'hostInfo' => 'http://localhost',
'baseUrl' => '',
'scriptUrl' => '',
),
and also add urlManager so it will remove index.php?r=site/action from the url and you will have pretty urls
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'rules' => array(
'<controller:\w+>' => '<controller>/index',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
Please try the following wayt to get the base url page,
echo Yii::app()->getBaseUrl(true);
© 2022 - 2024 — McMap. All rights reserved.