Pregunta

He instalado el paquete de pera Net_Geo PHP en mi servidor.

Este es el código que estoy utilizando,

  getRecord ($ ip);     // salida     echo "resultados IP individuales:
";     echo "
";
    print_r($results);
    echo "
";     // ejemplo matriz de múltiples IPs     $ Arr_ips = array     (       gethostbyname ( "www.google.com"),       gethostbyname ( "www.heise.de"),       gethostbyname ( "www.college.ch")     );     // podido recuperar la matriz de información de net_geo     $ resultados = $ net_geo-> GetRecord ($ arr_ips);     // salida     echo "resultados IP múltiples:
";     echo "
";
    print_r($results);
    echo "
"; ?>

Sin embargo, esta pieza de código no muestra ningún resultado.  Creo que este código no funciona en absoluto.

Este es el objeto Net_Geo

Objeto Net_Geo (     [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     [Servicio] =>     [Cache_prefix] => netgeo     [Useragent] => PHP / NetGeo     [Useragent_version] => 1,0     [Array_limit] => 100     [Caché] => Objeto Cache_Function         (             [Caducidad] => 2592000             [Caching] => 1             [Gc_time] => 1             [Gc_probability] => 1             [Gc_maxlifetime] => 86400             [Recipiente] => Objeto Cache_Container_file                 (                     [FileLocking] =>                     [Cache_dir] => / tmp /                     [Filename_prefix] => netgeo                     [entradas] => 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] => 

)

Gracias

¿Fue útil?

Solución

La página de documentación de Net_Geo::Net_Geo() dice que:

El método acepta dos parámetros:

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

Y esos parámetros son:

  • string $applicationName - opcional nombre de la aplicación a utilizar en el agente de usuario cuando el sondeo Netgeo
  • string $alternateServerUrl - URL para guión de servicio Netgeo, se establecerán en " http: // netgeo. caida.org/perl/netgeo.cgi " a no ser cambiado

No está de paso en estos patrones - lo que significa el valor por defecto se utiliza la URL del servicio Netgeo ...

... Y si intenta abrirlo ( http: //netgeo.caida. org / perl / netgeo.cgi ), verá que no funciona; mi Firefox dice que no puede conectar con el servidor.

Esto probablemente explica por qué su código no produce ninguna salida esperada: si se basa en un servidor geolocalition, y ese servidor ya no funciona ...


Como comentario: según el índice de href="http://pear.php.net/packages.php?catpid=16&catname=Networking" en la sección Networking , Net_Geo no se mantiene más, y la última versión fue lanzada en 2006-03-29; el cual no es del todo una buena señal ...

Si puede instalar paquetes PECL (que probablemente tendrá que ser administrador de su servidor) , tal vez el paquete GeoIP le interesaría.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top