1.9 / GeoIP mit Host Europe / PECL?

Ich nutze einen Virtual Server Managed von Host Europe.

Obwohl PECL installiert sein soll, werden mit dieser Methode keine Daten angezeigt.
Mit PHP funzt es!

Würde mich trotzdem interessieren, warum es mit PECL nicht geht…
Hat jemand einen Tip?

Meine Website läuft ebenfalls auf einem Virtual Server Managed bei HE.

Da man hier an die php.ini nicht herankommt, habe ich das custom_directory über die .htacess im Piwik-Root-Verzeichnis gesetzt:


php_value geoip.custom_directory /is/htdocs/wpNNNNNNN_XXXXXXXXXX/piwik/misc

Laut phpinfo() wird die Einstellung auch korrekt ausgelesen.

Ich habe die GeoIPCityLite-Datenbank heruntergeladen und als GeoIPCity.dat im misc-Verzeichnis hinterlegt. Trotzdem erhalte ich eine Adressauflösung nur auf Landesebene, wie in der Standard-Installation ohne GeoIP-Datenbank.

Weiß jemand Rat?

Hast Du denn auch eingestellt, dass PHP zur Auflösung genutzt werden soll, also den Radiobutton entsprechend gesetzt?

Ich habe es sowohl mit der Einstellung “GeoIP (Php)” als auch “GeoIP (PECL)” versucht.

@daCaPo

Also ich habe keine Änderungen an der .htaccess vorgenommen, oder sonst irgendetwas für Host Europe konfiguriert…
Und es funktioniert - siehe hier:

[attachment 878 GeoIPLand.jpg]
[attachment 881 GeoIPStadt.jpg]

Vielleicht ne blöde Frage: du hast die neuen Widgets (Land, Stadt, wie bei mir) schon in deiner Ansicht ergänzt?

Wenn du die Piwik-Settings “Standorteinstellungen” einstellst, wird da dein aktueller Standort angezeigt?
Bei mir sieht’s so aus:

[attachment 880 GeoIPPiwikSettings.jpg]

Wie man sieht, werden sowohl PHP als auch PECL als installiert angezeigt, aber nur bei PHP wird auch mein aktueller Standort angezeigt, bzw. nur so funktioniert es (das war ja der Hintergrund meiner ursprünglichen Frage). Wie sieht das bei dir aus?

@Tentaurus,

ich bekomme keine Standortdaten aufgelöst:

[attachment 884 Bildschirmfoto2012-10-19um16.44.44.png]

Kann das an Deiner IP liegen? Hast Du diese mal bei Maxmind eingegeben und Dir ausgeben lassen, was er dazu findet?

@Thomas Seifert

Bei Maxmind funktioniert die IP-Auflösung/Ortsbestimmung problemlos.

nun, dass der eigene Standort (-> Stadt) nicht aufgelöst wird, kann auch daran liegen, dass die Lite-DB diesen nicht kennt. Die Genauigkeit der “Lite-DB” ist limitiert. Und der der (erfolgreiche) Test auf Maxmind hilft dann auch nicht, weil da die genauere “Kauf-DB” verwendet wird…
Ich habe auch täglich “unbekannte” Städte in der Liste…

Immerhin wird ja ein Standort (-> Land) angezeigt! Wenn’s gar net funktionieren würde, wären gar keine Daten vorhanden.

@daCaPo
Nochmal zum Verständnis: du hast auch das (neue) “Stadt-Widget” mit aufgenommen? Und da steht dann nur “unbekannt”?

Ich habe inzwischen im Backend unter “Einstellungen > Standortbestimmung” die Auflösung von “GeoIP (PECL)” auf “GeoIP (PHP)” umgestellt. Im Stadt-Widget erhalte ich jetzt auch eine plausible Auflösung nach unterschiedlichen Städten.

Im Konfigurationsdialog steht hinter “GeoIP (PHP)” jedoch nur “(51, 9) Deutschland” und bei “GeoIP (PECL)” lediglich “Deutschland”. Ich hätte erwartet, dass ich hier die gleiche Auflösung bekomme wie bei den Städten, aber vielleicht ist ja auch unsere IP (statisch, Vodafone Business) tatsächlich nicht in der Lite-DB enthalten.

Die Aktualisierung der historischen Einträge mit dem geoipUpdateRows-Skript scheint jedoch nicht zu funktionieren. Für den Zeitraum vor der Umstellung bekomme ich keinerlei Auflösung. Kann das daran liegen, dass wir die IPs durch Abschneiden des letzten Oktets anonymisieren?

…na, ein Problem gelöst: du erhälst aktuelle Städte-Daten via PHP!
Nur warum PECL nicht funktioniert - meine Eingangsfrage - ist ungelöst…

Was die Aktualisierung der historischen Daten betrifft: da muss ich mich ausklinken. Das habe ich gar nicht erst versucht!
Aber du magst Recht haben, wenn im Sinne der Anonymisierung nicht die komplette IP verwendet wird kann es nicht funktionieren.
Die Frage ist, wann wird das letze Oktett abgeschnitten, vor oder nach der GEO-Lokation…

Aber das sollen die Piwik-Experten beantworten… :wink:

das funktioniert bei mir auch nicht besser mit PECL. Ich vermute mal, daß dazu ja die Datenbanken bei Hosteurope im dafür vorgesehenen Verzeichnis für die Erweiterungen hinterlegt sein müssen. Da kommen wir als User nicht ran. Ich vermute weiter, daß die eben nur die Country Auflösung installiert haben und die City eben nicht. Wäre so meine Einschätzung der Lage.

Ok, dann hier meine Erfahrungen mit HostEurope (Webpack L):

(Installliert ist NICHT die von HE angebotene Version, sondern ein Clean-Install der 1.9.2. von piwik.org)

GeoIP (PHP) funktioniert, mit Anzeige von Land/Stadt/Koordinaten unter ‘Standortbestimmung’.

GeoIP (Pecl) funktioniert NICHT, nur Anzeige ‘Deutschland’ unter ‘Standortbestimmung’.

Update der alten Einträge[/url] funktioniert hier NICHT, auch nicht mit [url=http://forum.piwik.org/read.php?2,95171,page=1#msg-95276]diesem Bugfix der geoipUpdateRows.php .
Allerdings scheint das Script ebenfalls auf die GeoIP (Pecl) zuzugreifen:


[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...

Kann man das evt. Umbiegen auf GeoIP (PHP)? Laut Anleitung soll das ja gehen?

Und: Gibt es sonst was Neues B)-?

Ich habe auch gerade einen Support Case bei HE offen.
Das mit dem setzen des Custom Directories per .htaccess oder ini_set funktioniert leider aktuell nicht. Ich habe dazu den folgenden Bug/Feature Request gefunden: PHP :: Bug #61607 :: geoip.custom_directory gets ignored when set via ini_set

Es besteht also die Chance, dass das irgendwann mal unterstützt wird.

Ich gehe davon aus, dass das Problem darin besteht, dass GeoIP (PECL) bei HE zwar installiert ist, aber keine vernünftige Datei von Maxmind eingebunden ist. Davon lebt nun mal die Gesamtfunktionalität.

Wenn ich das Problem mit dem HE-Support gelöst bekomme, melde ich mich mal hier für die anderen HE-Kunden, die gleiches Problem haben. :wink:

Die Rückmeldung kam jetzt prompt und ist nicht wirklich erfreulich.

Kundenfreundlichkeit sieht anders aus.

Aber man hat jetzt das Produkt von Virtual Server Managed auf Webserver Basic umbenannt. Das passt besser zum Support-Anspruch. Bei so viel Engagement bleibt wohl nur Kündigung und Providerwechsel. :X

Dort sollte man dann auf die Standortbestimmung via PECL eindeutig verzichten. Ist natürlich unpraktisch, wenn es doch scheinbar verfügbar ist.

Moin Moin

Ich sehe das eher so, dass zwar eine GeoIP.dat DB vorhanden ist, aber nicht von Piwik erreicht erden kann, denn das Testscript aus deinem vorstehenden Link zeigt bei mir - ich habe ein Virtual Server Managed als L(arge) Paket bei Host Europe - folgendes nach der Ausführung an:

string(26) “/usr/share/GeoIP/GeoIP.dat”

Das entspricht exakt dem Hinweis in deinem Link:


Expected result:
----------------
string(14) "/tmp/GeoIP.dat"

Actual result:
--------------
string(26) "/usr/share/GeoIP/GeoIP.dat"

Meine phpinfo.php sagt mir dazu auch folgendes aus:

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

In Piwik unter GeoIP (PECL) wird - jedenfalls bei mir - folgendes angezeigt:


Note: The 'geoip.custom_directory' PHP ini option is set to ''.

This GeoIP implementation has access to the following types of databases: Land.

Mir sagt das aus, dass wie schon erwähnt, Piwik die HE GeoIP.dat nicht erreichen kann.

Hmmmm, IMHO geht es hier etwas durcheinander…

Bitte strikt unterscheiden zwischen:

  • Piwik, das über die ‘Webanwendungen’ als Inklusivscript beim HostEurope-Webpack angeboten wird (Piwik-1.1.1)
  • Piwik, was man aus der Datei ‘http://builds.piwik.org/latest.zip’ runtergeladen hat.

Meine Beschreibung weiter oben bezog sich auf die hier runtergeladene und installierte Version 1.9.2, die auf dem Webpack bei HostEurope problemlos läuft, auch das GeoIP-Tracking nebst Zugriff auf die /piwik/misc/GeoIPCity.dat.

Lediglich das ‘Nacharbeiten’ alter Log-Einträge mit Aktualisierung der GeoIP-Daten möchte nicht funktionieren, das sollte aber auch auf dem Webpack ein lösbares Problem sein.

Deshalb nochmals die Frage:
Wie kann man GeoIP ‘verbieten’, auf PECL zuzugreifen und anstatt dessen GeoIP (PHP) zu nutzen?
Nur die Auswahl GeoIP (PHP) in den Einstellungen funktioniert nicht, siehe mein Post oben…

[quote=piwiker]
Deshalb nochmals die Frage:

  1. Wie kann man GeoIP ‘verbieten’, auf PECL zuzugreifen und anstatt dessen GeoIP (PHP) zu nutzen?
  2. Nur die Auswahl GeoIP (PHP) in den Einstellungen funktioniert nicht, siehe mein Post oben…[/quote]

Moin Moin

Ich benutze ebenfalls eine manuelle Piwik Installation auf einem HE Virtual Managed Server. Allerdings die 1.9.3-b7

  1. Indem man es nicht aktiviert, also den Radio-Button bei GeoIP (PHP) setzt.

  2. Oberhalb hast du folgendes geschrieben:

So ganz verstehe ich also deine Fragen nicht.

Ist eigentlich einfach zu verstehen…:)-D

GeoIP (PECL) funktioniert auf einem HE Webpack nicht.
GeoIP (PHP) funktioniert auf einem HE Webpack, Auswahlbutton ist gesetzt und grün.

Will man via ‘geoipUpdateRows.php’ den Alteinträgen die Location zuordnen lassen, greift sich das System trotz Auswahl von GeoIP (PHP) die Schnittstelle GeoIP (PECL), und die funktioniert nicht:


[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...

Wie also kann man GeoIP (PECL) deaktivieren?