Неустранимая ошибка: невозможно повторно объявить anp_realip() (ранее объявлено в E_COMPILE_ERROR Ошибка в файле

Почему это дано этой ошибке? ошибка является фатальной: невозможно повторно объявить anp_realip() (ранее объявленный в cr.php:196) в cr.php в строке 219 E_COMPILE_ERROR Ошибка в файле cr.php в строке 219: невозможно повторно объявить anp_realip() (ранее объявленный в cr.php:196)

строка 196 - это $ip = FALSE; строка 219 является окончанием} функции (последней).

function anp_realip()
{
    // No IP found (will be overwritten by for
    // if any IP is found behind a firewall)
    $ip = FALSE;

    // User is behind a proxy and check that we discard RFC1918 IP addresses
    // if they are behind a proxy then only figure out which IP belongs to the
    // user.  Might not need any more hackin if there is a squid reverse proxy
    // infront of apache.
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {

        // Put the IP's into an array which we shall work with shortly.
        $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);

        for ($i = 0; $i < count($ips); $i++) {
            // Skip RFC 1918 IP's 10.0.0.0/8, 172.16.0.0/12 and
            // 192.168.0.0/16 
            // below.
            if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
                $ip = $ips[$i];
                break;
            }
        }
    }
    // Return with the found IP or the remote address
    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

Хорошо, с отладкой, установленной на 2, я получаю это на моем компьютере:

Пользователь НЕ находится в списках исключений. Для текущего посетителя не сохраняется код страны (_DEBUG_MODE=1 запрещает отправку файлов cookie); имя файла cookie: anp_810c087185 Код страны для этого посетителя загружен из COOKIE/SESSION: 'none' Получение страны из полного текста: 'IT' Поиск URL для страны 'IT' Неустранимая ошибка: Невозможно переопределить anp_realip() (ранее объявлено в cr. php: 196) в файле cr.php в строке 219 E_COMPILE_ERROR Ошибка в файле cr.php в строке 219: невозможно повторно объявить anp_realip() (ранее объявленный в cr.php:196)

Мой друг на другом компьютере получает это:

Пользователь НЕ находится в списках исключений. Для текущего посетителя не сохраняется код страны (_DEBUG_MODE=1 запрещает отправку файлов cookie); cookie имя: anp_810c087185 Код страны для этого посетителя загружен из COOKIE/SESSION: 'none' Получение страны из полного текста: 'NL' Поиск URL для страны 'NL' Посетитель должен быть перенаправлен сейчас на http://www.test.com/

как насчет этого, почему это не работает для меня, но это для него? Пытался очистить браузер поймать, не повезло. Вы можете помочь?

1 ответ

Решение

Такое иногда случается, когда ты require или же include один и тот же файл дважды. Переключиться на require_once и / или include_once (они требуют / включают файл, только если он еще не был необходим / включен).

Возможно, вы загружаете этот файл дважды, и во второй раз, когда он загружается, PHP жалуется, что эта функция уже определена.

Другие вопросы по тегам