2.14.3: GeoIP-PECL doesn't recognize city database, but -PHP does


#1

Hello,
there is a curious difference between GeoIP (PECL) and GeoIP (Php) in actual Piwik 2.14.3 on Php-5.5-apache-webserver.

MaxMind database is located in .serverroot./www/script/piwik/misc/GeoIPCity.dat. Path is set and dislayed correctly, pls refer to attached screenshot.
But:
GeoIP (Php) recognizes this path and shows location data.
GeoIP (PECL) does NOT recognize this path and does NOT show location data.

How to solve this issue for using PECL?

Thx in advance, best regards!


#2

Issue has been fixed by HostEurope shared webhoster, a php bugfix on apache server has been released, NOT a Piwik issue…


(Peter Bittner) #3

I’m with a hoster that is specialized on Python/Django and supports simple HTML and PHP sites too (it is not HostEurope). They are willing to make PECL work, and I think it’s sensible to make it work globally on the server (and not just for PHP), because it can be used by other programming languages.

Now I’m curious: On the Admin / Geo Localization page I’ve selected “GeoIP (PECL)”, but the the grey box to the right of the option says: (translated from German)

According to your provider your current location is:
Switzerland
Org: unknown
ISP: unknown

and below

Note: The ‘geoip.custom_directory’ PHP ini option is set to ‘/usr/share/GeoIP/’.
The GeoIP implementation has access to the following database types: Country.

In Piwik under Visitors / Locations the Region and City tables show “unknown”. Only the Country table is filled in with usable data.

There are 3 files in /usr/share/GeoIP/:

$ ls -lAF /usr/share/GeoIP/
-rw-r--r-- 1 root root 15966443 May  6  2015 GeoCity.dat
-rw-r--r-- 1 root root  1061883 Mar 17  2015 GeoIP.dat
-rw-r--r-- 1 root root  3949299 Mar 17  2015 GeoIPv6.dat

How do I get the Region and City tables filled in properly? Is the setup on the host broken?

P.S.: I’ve also noticed that MaxMind has a new database format (v2). Is this used by Piwik as of today?
P.P.S.: I’m using Piwik 2.16.0