我试图创建一个快捷方式来获取用户的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
知道我做错了什么吗?谢谢
3条答案
按热度按时间dnph8jn41#
在Yii2中,使用
Yii::$app->getRequest()->getUserIP()
uxhixvfz2#
请尝试以下操作:
取而代之
使用“()”时,它应该有效
pdkcd3nj3#
这与Yii 2有关(但在Yii 1.1中也可以使用).如果您需要“X-Forwarded-For”IP而不是代理,如果您的服务器在一个保留代理之后,请在config/main.php中修改'request'配置如下: