Question

Je l'ai installé le paquet PEAR Net_Geo sur mon serveur PHP.

est le code que je utilise,

  getRecord (IP de $);     // sortie     echo "Résultats IP simples:
";     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")     );     // chercher tableau d'informations à partir Net_Geo     $ résultats = $ net_geo-> getRecord (arr_ips $);     // sortie     echo "Plusieurs résultats IP:
";     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.

Ceci est l'objet Net_Geo

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             [Récipient] => Cache_Container_file objet                 (                     [FileLocking] =>                     [Cache_dir] => / tmp /                     [Filename_prefix] => NetGeo                     [entrées] => array                         (                         )

                [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

Était-ce utile?

La solution

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 - option nom de l'application à utiliser dans UserAgent lorsque l'interrogation Netgeo
  • string $alternateServerUrl - URL script de service Netgeo, seront mis à « http: // NetGeo. caida.org/perl/netgeo.cgi » sauf modification

Vous ne passe pas l'un de ces paramètres - ce qui signifie que la valeur par défaut Netgeo URL du service est ...

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

Ceci 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 l'indice de href="http://pear.php.net/packages.php?catpid=16&catname=Networking" dans la section réseau , Net_Geo est plus maintenu, et la dernière version a été publiée en 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) , peut-être le paquet GeoIP pourrait vous intéresser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top