weiße Seite bei geoIP

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • weiße Seite bei geoIP

    Guten Abend,

    ich habe mir mir folgendes Script geladen: github.com/maxmind/geoip-api-php

    Lokal läuft es bei mir. Jetzt hab ich es auf meinen Webspace bei Hosteurope hochgeladen, und da bleibt die Seite bei der Ausgabe weiß. Ich habe alle möglichen Pfadangaben verändert und getestet, aber nichts tut sich. Hat jemand einen Tipp, woran das liegen könnte?

    Viele Grüße

    PHP Source Code: test.php

    1. <?php
    2. // This code demonstrates how to lookup the country, region, city,
    3. // postal code, latitude, and longitude by IP Address.
    4. // It is designed to work with GeoIP/GeoLite City
    5. // Note that you must download the New Format of GeoIP City (GEO-133).
    6. // The old format (GEO-132) will not work.
    7. include("geoipcity.inc");
    8. include("geoipregionvars.php");
    9. // uncomment for Shared Memory support
    10. // geoip_load_shared_mem("/usr/local/share/GeoIP/GeoIPCity.dat");
    11. // $gi = geoip_open("/usr/local/share/GeoIP/GeoIPCity.dat",GEOIP_SHARED_MEMORY);
    12. $ip = "80.187.111.149";
    13. if((strpos($ip, ":") === false)) {
    14. $gi = geoip_load_shared_mem("GeoLiteCity.dat");
    15. $record = geoip_record_by_addr($gi, $ip);
    16. } else {
    17. $gi = geoip_load_shared_mem("GeoLiteCityv6.dat");
    18. $record = geoip_record_by_addr_v6($gi, $ip);
    19. }
    20. print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "\n";
    21. print $record->region . " " . $GEOIP_REGION_NAME[$record->country_code][$record->region] . "\n";
    22. print $record->city . "\n";
    23. print $record->postal_code . "\n";
    24. print $record->latitude . "\n";
    25. print $record->longitude . "\n";
    26. print $record->metro_code . "\n";
    27. print $record->area_code . "\n";
    28. print $record->continent_code . "\n";
    29. geoip_close($gi);
    30. ?>
    Display All
  • PHP Source Code

    1. error_reporting(-1);
    2. ini_set('display_errors', 1);
    Das gehört beim Debuggen schonmal an den Anfang der Datei. Vermutlich kann dir PHP bereits sagen, woran das ganze scheitert.
    Vermutlich hast du nur die Pfadangaben für die includes verhauen, oder gar nicht hochgeladen (passiert mir ständig^^).
    Ansonsten bleibt noch die Möglichkeit, dass dein Hoster die Funktion gesperrt hat, da einfach mal in die phpinfo() gucken.

    Aber erstmal ErrorReporting anschmeißen und gucken, was PHP so spricht.
  • Dann schau mal bitte in die ErrorLogs von PHP (im Normalfall die Serverlogs). Irgendwo muss stehen, woher dieser Fehler kommt.

    Bzw. vorher kannst du noch versuchen mit Auskommentieren, den Fehler einzugrenzen. Alles auskommentieren, am Anfang ein echo 1; einfügen und gucken, ob die 1 ausgegeben wird, dann die includes (bewusst mit falschem Pfad, damit du siehst, dass das ErrorReporting greift).
    Falls das alles nichts hilft, bleibt nur der Blick in die Logs.
  • Im PHP error Log steht folgendes:

    [Sat Dec 12 14:23:21 2015] [error] [client 109.*******] PHP Fatal error: [Sat Dec 12 14:23:21 2015] [error] [client 109.91.133.49] PHP Fatal error: Call to undefined function geoip_open() in /is/htdocs/wp11027340_6C9AF0XBPC/www/www/gsh-homepage/geoIP/test.php on line 22 /is/htdocs/wp11027340_6C9AF0XBPC/www/www/gsh-homepage/geoIP/test.php on line 22