在控制台应用createAbsoluteUrl
中无效。我是否需要更改配置文件中的某些设置才能使其正常工作。
根据我的理解,控制台应用程序中没有请求组件。那么我在哪里指定基本URL。
我没有找到任何相关内容。任何帮助,将不胜感激。谢谢。
答案 0 :(得分:9)
您将无法在控制台应用程序中创建URL,但您将收到以下错误:
'在运行控制台应用程序时,请正确配置
UrlManager::scriptUrl
。
要删除此消息并使用UrlManager
,请在console.php
配置文件中添加以下配置:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'scriptUrl' => 'http://path/to'
]
现在,如果您在控制台应用中编写以下行:
echo \Yii::$app->getUrlManager()->createAbsoluteUrl('test/test');
echo "\n";
echo \yii\helpers\Url::toRoute('test/test');
您将看到以下输出:
http://path/to?r=test%2Ftest
http://path/to?r=test%2Ftest