createAbsoluteUrl在控制台应用程序中不起作用

时间:2015-10-23 08:48:59

标签: yii2

在控制台应用createAbsoluteUrl中无效。我是否需要更改配置文件中的某些设置才能使其正常工作。

根据我的理解,控制台应用程序中没有请求组件。那么我在哪里指定基本URL。

我没有找到任何相关内容。任何帮助,将不胜感激。谢谢。

1 个答案:

答案 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