【发布时间】:2014-03-11 12:37:08
【问题描述】:
我正在尝试创建一个获取用户IP地址的快捷方式,我在protected/helpers/shortcut.php
中创建了这个函数echo getIP();
function getIP()
{
return CHttpRequest::getUserHostAddress();
}
我收到此错误是因为我将 php.ini 设置为严格。并且 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
知道我做错了什么吗?谢谢
【问题讨论】:
-
您是否有机会在引导程序完成之前调用此函数,或者在测试代码或任何其他“非 Web 上下文”中调用此函数?
-
看到你把
echo getIP();放在了shortcuts.php文件中。因此,只要包含此文件,它将直接运行。如果在调用CWebApplication::run()函数之前发生这种情况(通常来自 index.php),您将收到类似这样的错误。 -
@TommyBravo 谢谢!!愚蠢的错误。 :)
标签: yii