web-dev-qa-db-ja.com

YiiでユーザーIPアドレスを取得する関数

ユーザーのIPアドレスを取得するためのショートカットを作成しようとしています。この関数を以下のprotected/helpers/shortcut.phpに作成しました

echo getIP();
function getIP()
{
    return CHttpRequest::getUserHostAddress();
}

php.iniをstrictに設定したため、このエラーが発生します。 getUserHostAddress()は静的関数ではありません

Strict Standards: Non-static method CHttpRequest::getUserHostAddress() should not be called statically in /Applications/XAMPP/xamppfiles/htdocs/dev/protected/helpers/shortcuts.php on line 97
::1

私は試した

Yii::app()->request->userHostAddress;

しかし、私はこのエラーが出ます

Notice: Trying to get property of non-object in /Applications/XAMPP/xamppfiles/htdocs/dev/protected/helpers/shortcuts.php on line 97

私が間違っていることは何か考えていますか?ありがとう

12
user2636556

これを試して:

Yii::app()->request->getUserHostAddress()

代わりに

Yii::app()->request->getUserHostAddress

「()」で機能するはずです

16
user3410311

Yii2では、Yii::$app->getRequest()->getUserIP()を使用します

46
S B