2015-10-23 5 views
4

В приложении консоли createAbsoluteUrl не работает. Мне нужно изменить некоторые настройки в файле конфигурации, чтобы он работал.createAbsoluteUrl не работает в консольном приложении

По моему мнению, компонент запроса недоступен в приложении консоли. Итак, где указать базовый URL.

Я ничего не нашел на этом. Любая помощь будет оценена по достоинству. Спасибо.

+0

использовать '\ Yii :: $ app-> urlManager-> createAbsoluteUrl ('сайт/индекс');' – GAMITG

+0

Это дает мне Exception «юй \ база \ InvalidConfigException 'с сообщением' Пожалуйста, настройте UrlMa nager :: scriptUrl правильно, когда вы запускаете консольное приложение. ' исключение. – Chinmay

ответ

8

Вы не может создать URL в консольном приложении, а вы получите следующее сообщение об ошибке:

'Please configure UrlManager::scriptUrl correctly as you are running a console application.'

Чтобы избавиться от этого сообщения и работать с 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 
+0

кажется, что 'console.php' не существует в моем проекте. Я использую расширенный шаблон yii2. – zhkzyth

Смежные вопросы