Installing GeoIP PECL module throws errors to me

See image:-

OS: CentOS 5.

I have to remove the:-


extension=geoip.so
geoip.custom_directory=/var/www/piwik/misc

lines from my php.ini to make it go away.

that’s because you use IPv6 which is not supported yet. See: GeoIP v2 (List of improvements) · Issue #3442 · matomo-org/matomo · GitHub

I think the documentation here could do with some clarifications:

http://piwik.org/faq/how-to/#faq_164

There are four items there and 5 different downloadable versions of each when you click through to the Maxmind website.

It is far from clear which ones are correct to download.

I would have guessed (wrongly as it turned out) that the IPV6 versions were newer, and that they were the way to go. (What is IPV6 anyway?)

Discounting those I am guessing its the Binary / gzip verson we need?

The documenation talks about two versions. It is quite confusing. Reading it again I think the documentation should say this to be a bit clearer.

1/ Go here:

http://dev.maxmind.com/geoip/geolite

2/ Download the Binary /Gzip version of:

GeoLite City

To your hard drive.

Note - NOT GeoLite City IPv6 - It is not yet supported.

Note also that you only need ONE database. GeoLite City has BOTH Country and City data, so is a good choice.

3/ Unzip the file you downloaded

You will get:

GeoLiteCity.dat

Right click and rename this file to:

GeoIPCity.dat

4/ Fire up your FTP program and go to your Piwik install

Copy GeoIPCity.dat to Piwik’s path/to/piwik/misc/ subdirectory.

5/ Login to your main Piwik install and go to Settings > GeoLocation

The second one down:

GeoIP (Php)

Should now have a green “installed” below it.

6/ Click the check box next to it and the new GeoIPCity data should now be being used on your Piwik install.

P.S I did this and that worked fine.

However, going back into the install I get this message when I look at todays stats:

“There is no data for this report because there is no location data available. To enable accurate geolocation, change the settings here. To get location data for your old visits, use the script described here.”

(Rather then all the explanatory text etc. Why not just have “Click Here to update your database” within Piwik itself and get it to run this script from within the interface?)

Clearly, the reason is because the new script only tracks location moving forward. So all the old stats need updating.

The link to the script was here.

http://piwik.org/faq/how-to/#faq_167

The instructions say:


The script is called geoipUpdateRows.php and is located in the misc/others subdirectory of your Piwik installation. You don't need to do anything special to run it, just cd into the directory and run:

php ./geoipUpdateRows.php

I didn’t really understand the instructions, but guessed they amounted to:

1/ Go to:

www.yourpiwikinstall.com/piwik/misc/others/geoipUpdateRows.php

Because I am not on a dedicated server.

I go there and it comes back with:

[2012-10-25 11:28:53] [b61918af] [9.82 Mb] [note] The GeoIP PECL extension is not installed.
[2012-10-25 11:28:53] [b61918af] [9.82 Mb] [note] Falling back to PHP API. This may become too slow for you. If so, you can read this link on how to install the PECL extension: How to - Analytics Platform - Matomo
[2012-10-25 11:28:53] [b61918af] [11.08 Mb] [note] Found working provider: geoip_php
[2012-10-25 11:28:53] [b61918af] [11.09 Mb] 141550 rows to process in piwik_log_visit and piwik_log_conversion…
[2012-10-25 11:28:54] [b61918af] [12.59 Mb] 0% done…
[2012-10-25 11:29:01] [b61918af] [12.60 Mb] 1% done…
[2012-10-25 11:29:12] [b61918af] [12.60 Mb] 1% done…
[2012-10-25 11:29:16] [b61918af] [12.61 Mb] 2% done…

Etc. And keeps going until about 34% but then stops.

Question - How do I get this to work?

Hmmm… so that warning is just for IPv6 users then. It should be supressed so that it doesn’t confuse people. I have disabled IPv6 on my OPENVPN tunnel and it goes away.

@BigStu, the php ./geoipUpdateRows.php should be run on a shell.

Yeah. I don’t know how to do that.

Is there not a simple way of running this geoipUpdateRows.php file that can be done in Cpanel?

It times out in a browser, and I am on shared hosting so I am not even sure the shell business is available.

Hi, here’s some info on using shell w/ CPanel: http://docs.cpanel.net/twiki/bin/view/AllDocumentation/CpanelDocs/ShellAccess
It’s still not that simple, though.

Anyway, I’m not sure, but I think I can make the script run in the browser w/o timing out. If I can, I’ll make sure it’s in the next release (and I’ll post a reply here.)

Thanks for the report for the original error: fixed in: http://dev.piwik.org/trac/changeset/7424

Got this response from capedfuzz

Is this going to be implemented in a future release?

I just tried it again after updating to the new 1.92 version, and it is still timing out at 39%.

[quote=matt]
Thanks for the report for the original error: fixed in: http://dev.piwik.org/trac/changeset/7424[/quote]

This fix isn’t in 1.9.2 right? I still see the error.

@BigStu Sorry for the (very) late reply, I’ve since put the change in, it will be available in the next release. Or, if you want it now, you can replace the script with this: http://dev.piwik.org/trac/browser/trunk/misc/others/geoipUpdateRows.php?format=txt .

How to switch between GeoIP (Pecl) and GeoIP (PHP) for using ‘geoipUpdateRows.php’?

GeoIP (Pecl) is NOT runing on our server (HostEurope Webpack L shared), but GeoIP (PHP) does.

GeoIP (PHP) is choosen in piwik settings. But if starting ‘geoipUpdateRows.php’, GeoIP (Pecl) is used:

[2012-12-20 09:12:43] [f3eda369] [6.94 Mb] [note] Found working provider: geoip_pecl
[2012-12-20 09:12:43] [f3eda369] [6.94 Mb] 243625 rows to process in piwik_log_visit and piwik_log_conversion…
[2012-12-20 09:12:43] [f3eda369] [7.07 Mb] 0% done…

Use this version which should work :http://piwik.org/piwik-1.10-b2.zip

@Matt:
Thanks for the 1.10.beta link!

Complete Piwik-1.10.beta install necessary or partial extraction possible for correcting old location entries?

…\piwik\plugins\UserCountry
…\piwik\misc\others\geoipUpdateRows.php

Same MySQL-Database structure?

Thx…

overwrite all files

I am use IIS7.5 and php5.4.10 x64 version. and install php_geoip.dll in php.ini. but when I visit /index.php?module=UserCountry&action=adminIndex&idSite=2&period=day&date=today it is show http 500 wrong can’t open. How I do check what is wrong and fix it?

geoip

geoip support enabled
geoip extension version 1.0.9-dev
geoip library version 1004008

Directive Local Value Master Value
geoip.custom_directory no value no value

Updating Piwik 1.9.2 to 1.10beta2 will updated MySQL-database also to v1.10beta2.

Is later usage of updated 1.10beta2-MySQL-database possible with v1.9.2 without issues?

I will not use beta version for a production server, only for getting the GeoIP location data on older tracking data with ‘geoipUpdateRows.php’.

I am trying to Installv ** GeoIP Geo location PECL extension** on my local environment but i am familier with the steps could any one Please help me out on this.