7

YiiCConsoleApplicationアプリケーションでベースURLを取得するにはどうすればよいですか?

試しYii::app()->request->getBaseUrl(true)てみたところ、次のエラーが発生しました。

未定義のインデックス:SERVER_NAME(/var/www/yii/framework/web/CHttpRequest.php:279)

4

5 に答える 5

13

コンソール アプリケーションにはリクエスト オブジェクトはありません。Web アプリケーションの request オブジェクトは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',
),
于 2012-12-19T19:04:42.613 に答える
3

Yii2 の高度なテンプレートの場合、コンソールまたは共通アプリのディレクトリにparams.phpファイルが存在しない場合はファイルを作成しconfig、次のコードを貼り付けます。

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

コンソールで次の方法でアクセスできるようにします。

echo Yii::$app->params['frontendUrl'];
于 2016-11-10T06:43:46.617 に答える
-3

次の方法を試して、ベースURLページを取得してください。

echo Yii::app()->getBaseUrl(true);
于 2012-12-19T11:39:53.460 に答える
-3

次のようにホーム URL を取得します。

http://www.demo.local

echo Yii::app()->homeUrl;
于 2013-09-26T08:05:13.677 に答える