IP已弃用呼叫时传递引用

时间:2013-04-02 12:48:05

标签: php

我收到此错误: 呼叫时传递引用已被弃用;如果您想通过引用传递它,请修改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'];

}

提前举手

韦恩

2 个答案:

答案 0 :(得分:1)

不使用&符号尝试:

ip_valid ( $_SERVER [ $c ] )

正如你强迫by-reference

虽然显然你在传递ip_first时没有这样做,但是我想知道是什么让你觉得它首先是正确的,为什么你做的不同呢?第二个例子。

答案 1 :(得分:0)

只需从&移除ip_valid ( &$_SERVER [ $c ] )

相关问题