2009-12-02 2 views
0

J'ai installé le paquet Net_Geo pear sur mon serveur PHP.Paquet Net_Geo Pear en PHP

Ceci est le code que j'utilise,

getRecord ($ ip); // sortie echo "Résultats IP uniques:
"; echo "
"; 
    print_r($results); 
    echo "
"; // tableau exemple de plusieurs adresses IP $ arr_ips = array ( gethostbyname ("www.google.com"), gethostbyname ("www.heise.de"), gethostbyname ("www.college.ch" ); // Récupère le tableau d'information de net_geo $ results = $ net_geo-> getRecord ($ arr_ips); // sortie echo "Résultats IP multiples:
"; echo "
"; 
    print_r($results); 
    echo "
"; ?>

Mais ce morceau de code n'affiche aucun résultat. Je pense que ce code ne fonctionne pas du tout.

C'est le Net_Geo objet

Net_Geo objet ( [cache_path] =>/tmp/ [cache_ttl] => 30 [default_timeout] => 60 [default_caida_server] =>http://netgeo.caida.org/perl/netgeo.cgi [default_hostip_server ] =>http://api.hostip.info/ [localizer_data] => ./demo.csv [Service] => [cache_prefix] => NetGeo [useragent] => PHP/NetGeo [useragent_version] => 1.0 [array_limit] => 100 [cache] => Cache_Function objet ( [expire] => 2592000 [cache] => 1 [gc_time] => 1 [gc_probability] => 1 [gc_maxlifetime] => 86400 [conteneur] => Cache_Container_file objet ( [fileLocking] => [cache_dir] =>/tmp/ [filename_prefix] => NetGeo [entrées] => tableau ( )

   [total_size] => 0 
       [max_userdata_linelength] => 257 
       [preload] => 1 
       [id] => 
       [group] => 
       [expires] => 0 
       [cachedata] => 
       [userdata] => 
       [unknown] => 1 
       [encoding_mode] => base64 
       [highwater] => 2048000 
       [lowwater] => 1536000 
       [allowed_options] => Array 
        (
         [0] => encoding_mode 
         [1] => highwater 
         [2] => lowwater 
        ) 

       [group_dirs] => Array 
        (
        ) 

      ) 

     [_debug] => 
     [_default_error_mode] => 
     [_default_error_options] => 
     [_default_error_handler] => 
     [_error_class] => PEAR_Error 
     [_expected_errors] => Array 
      (
      ) 

    ) 

[netgeo_global] => netgeo_global 
[useragent_string] => 
[default_server] => 
[last_target] => 
[applicationName] => 
[alternateServerUrl] => 

)

Merci

Répondre

1

La page de documentation de Net_Geo::Net_Geo() dit que:

La méthode accepte deux paramètres:

bool Net_Geo() (string $applicationName = '' , string $alternateServerUrl = '') 

Et ces paramètres sont:

  • string $applicationName-en option nom de l'application à utiliser dans UserAgent lors Netgeo vote
  • string $alternateServerUrl - URL au script de service Netgeo, sera réglé sur "http://netgeo.caida.org/perl/netgeo.cgi" à moins changé

Vous n'êtes pas de passage l'un de ces paramètres - ce qui signifie que l'URL du service Netgeo par défaut est utilisée ...

... Et si vous essayez de l'ouvrir (http://netgeo.caida.org/perl/netgeo.cgi), vous verrez que cela ne fonctionne pas; mon Firefox dit qu'il ne peut pas se connecter au serveur.

Cela explique probablement pourquoi votre code ne produit pas de résultat attendu: si elle repose sur un serveur geolocalition, et que le serveur ne fonctionne plus ...


En sidenote: selon le l'index de pear packages in the Networking section, Net_Geo n'est plus maintenu, et la dernière version a été publiée le 2006-03-29; ce qui est tout à fait pas un bon signe ...

Si vous pouvez installer des paquets PECL (vous aurez probablement besoin d'être administrateur de votre serveur), le GeoIP package aurait peut-être vous intéresser.

+0

merci pour les réponses. Mais quels sont les paramètres que je devrais passer à "applicationName" et "alternateServerUrl" – Biranchi

+0

YOu êtes les bienvenus à propos de l'anser ;; désolé, je n'ai absolument aucune idée des valeurs que vous devriez utiliser; Je n'utiliserais probablement pas ce paquet, en fait (il est assez ancien, il n'est pas entretenu depuis longtemps, il génère beaucoup d'avis, ...) –

Questions connexes