我收到此错误: 呼叫时传递引用已被弃用;如果您想通过引用传递它,请修改ip_valid()的声明。
在这些代码行中的某个地方。问题是我在PHP中没那么强大,无法弄清楚我需要修改它来修复它。
任何建议都会被贬低。
function getIP ()
{
$check = array(
'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED', 'HTTP_VIA', 'HTTP_X_COMING_FROM', 'HTTP_COMING_FROM',
'HTTP_CLIENT_IP'
);
foreach ( $check as $c ) {
if ( ip_valid ( &$_SERVER [ $c ] ) ) {
return ip_first ( $_SERVER [ $c ] );
}
}
return $_SERVER['REMOTE_ADDR'];
}
提前举手
韦恩
答案 0 :(得分:1)
不使用&符号尝试:
ip_valid ( $_SERVER [ $c ] )
正如你强迫by-reference。
虽然显然你在传递ip_first
时没有这样做,但是我想知道是什么让你觉得它首先是正确的,为什么你做的不同呢?第二个例子。
答案 1 :(得分:0)
只需从&
移除ip_valid ( &$_SERVER [ $c ] )
。