Intereting Posts
Выходная дата php с правильным языком Передайте пользовательское сообщение (или любые другие данные) в Laravel 404.blade.php Получить количество страниц в документе PDF Должен ли я пинговать сервер mysql перед каждым запросом? Angularjs $ http метод get для данных JSONP без параметра CALLBACK показать данные в лайтбокс добавить встроенное изображение в сообщение, отправленное с помощью swiftmailer Регулярное выражение PHP для извлечения ссылки / кода TwitPic, если присутствует Как вывести / убрать специальные символы в документе LaTeX? PHP Paypal Auth / Capture Проблемы с интеграцией NVP Загрузка видео на Youtube с использованием API данных Youtube V3 и клиента API Google PHP – получение сообщения 401 (несанкционированное) Заполнение удаленного пользователя в файлах журнала apache с сеанса PHP Как вы создаете «хорошие» случайные хеши md5 в php? как сохранить php-код в базе данных получение переменной $ _GET в jquery

Получить базовый url в приложении консоли YII

Как получить базовый url в приложении YII CConsoleApplication.

Я попробовал «Yii :: app () -> request-> getBaseUrl (true)» и получил следующую ошибку.

Undefined index: SERVER_NAME (/var/www/yii/framework/web/CHttpRequest.php:279) 

Объект запроса в консольном приложении отсутствует. объект запроса в веб-приложении представляет собой экземпляр CHttpRequest , если вы генерируете URL-адреса в автономной задаче, вам нужно настроить baseUrl каким-то другим способом, возможно, в конфигурации:

 "request" => array( 'hostInfo' => 'http://localhost', 'baseUrl' => '/yii-project/index-test.php', ), // OR 'request' => array( 'hostInfo' => 'http://localhost', 'baseUrl' => '/yii-project', 'scriptUrl' => 'index-test.php', ), 

Для расширенного шаблона params.php создайте файл params.php если он не существует в каталоге config вашей консоли или обычного приложения и вставьте следующий код:

 return [ 'frontendUrl' => 'http://yourdomain.com' ]; 

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

 echo Yii::$app->params['frontendUrl']; 

Вы должны добавить config / console.php в массив компонентов

 'request' => array( 'hostInfo' => 'http://localhost', 'baseUrl' => '', 'scriptUrl' => '', ), 

а также добавить urlManager, чтобы он удалил index.php? r = сайт / действие из URL-адреса, и у вас будут красивые URL-адреса

 '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>', ), ), 

Пожалуйста, попробуйте следующий путь, чтобы получить базовую страницу URL-адреса,

 echo Yii::app()->getBaseUrl(true); 

получить домашний url вот так:

Http: //www.demo.local

 echo Yii::app()->homeUrl;