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

Chi*_*may 4 yii2

在控制台应用程序createAbsoluteUrl中不起作用.我是否需要更改配置文件中的某些设置才能使其正常工作.

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

我没有发现任何相关内容.任何帮助,将不胜感激.谢谢.

Ali*_*our 10

您将无法在控制台应用程序中创建URL,但您将收到以下错误:

"请UrlManager::scriptUrl在运行控制台应用程序时正确配置."

要删除此消息并使用UrlManager,请在console.php配置文件中添加以下配置:

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'scriptUrl' => 'http://path/to'
]
Run Code Online (Sandbox Code Playgroud)

现在,如果您在控制台应用程序中编写以下行:

echo \Yii::$app->getUrlManager()->createAbsoluteUrl('test/test');
echo "\n";
echo \yii\helpers\Url::toRoute('test/test');
Run Code Online (Sandbox Code Playgroud)

您将看到以下输出:

http://path/to?r=test%2Ftest
http://path/to?r=test%2Ftest
Run Code Online (Sandbox Code Playgroud)