为什么只返回其中一些 geoip 值?
Why are only some of these geoip values being returned?
我在 Ubuntu 12.04 上有一个 Web 服务器 运行 Apache2。我已经安装了 geoip-database
、libapache2-mod-geoip1.2.5-2
、libgeoip1 1.4.8+dfsg-2
和 php5-geoip
。
我把这个测试 PHP 代码放在我的服务器上:
<?php
echo "country: " . apache_note("GEOIP_COUNTRY_NAME") . '<br>';
echo "code: " . apache_note("GEOIP_COUNTRY_CODE") . '<br>';
echo "city: " . apache_note("GEOIP_CITY") . '<br>';
echo "region: " . apache_note("GEOIP_REGION") . '<br>';
echo "latitude: " . apache_note("GEOIP_LATITUDE") . '<br>';
echo "longitude: " . apache_note("GEOIP_LONGITUDE") . '<br>';
echo "timezone: " . geoip_time_zone_by_country_and_region($this->countryCode, $this->region);
当我在浏览器中访问它时,我得到以下输出:
country: Japan
code: JP
city:
region:
latitude:
longitude:
timezone:
我对只有两个值返回的事实感到困惑。如果 GeoIP 模块没有正确安装,它会不会完全没有任何值而完全失败?
是否有一些库或我缺少的东西?
如何让我的代码获得 return 所有值,例如纬度和经度?
您可能正在使用免费的 GeoLite IP 数据库。此数据库仅包含国家信息。
包含更详细信息(例如纬度和经度)的数据库可从 Maxmind 付费获得。
我在 Ubuntu 12.04 上有一个 Web 服务器 运行 Apache2。我已经安装了 geoip-database
、libapache2-mod-geoip1.2.5-2
、libgeoip1 1.4.8+dfsg-2
和 php5-geoip
。
我把这个测试 PHP 代码放在我的服务器上:
<?php
echo "country: " . apache_note("GEOIP_COUNTRY_NAME") . '<br>';
echo "code: " . apache_note("GEOIP_COUNTRY_CODE") . '<br>';
echo "city: " . apache_note("GEOIP_CITY") . '<br>';
echo "region: " . apache_note("GEOIP_REGION") . '<br>';
echo "latitude: " . apache_note("GEOIP_LATITUDE") . '<br>';
echo "longitude: " . apache_note("GEOIP_LONGITUDE") . '<br>';
echo "timezone: " . geoip_time_zone_by_country_and_region($this->countryCode, $this->region);
当我在浏览器中访问它时,我得到以下输出:
country: Japan
code: JP
city:
region:
latitude:
longitude:
timezone:
我对只有两个值返回的事实感到困惑。如果 GeoIP 模块没有正确安装,它会不会完全没有任何值而完全失败?
是否有一些库或我缺少的东西?
如何让我的代码获得 return 所有值,例如纬度和经度?
您可能正在使用免费的 GeoLite IP 数据库。此数据库仅包含国家信息。
包含更详细信息(例如纬度和经度)的数据库可从 Maxmind 付费获得。