laravellaravel-5.5geoipgeoip2

GEOIP2 The value "*IP*" is not a valid IP address


When ever we try to let google crawl our website we get several errors in sentry:

The value "213.55.176.155, 66.249.93.93" is not a valid IP address

or

The value "213.55.176.162, 66.102.9.18" is not a valid IP address.

The code error is coming from "$record = $reader->city($ip);"

$reader = new Reader('GeoLite2-City.mmdb');
        $record  = $reader->city($ip);
       // $ip = $_SERVER['REMOTE_ADDR'];
        $iso_code = $record->country->isoCode;
        $timezone = $record->location->timeZone;

We think its a AddressNotFoundException because the IP is not valid in geolite2 DB of maxmind.

Does anyone now how to avoid this error?


Solution

  • It looks like your string contains multiple IPs, so try splitting them and looping?

    Something like:

    $ips = explode(', ', $ip)
    foreach(...) {
        ...
    }