2015-08-29 84 views
0

我有一個在Ubuntu 12.04上運行Apache2的web服務器。我已經安裝了geoip-database,libapache2-mod-geoip1.2.5-2,libgeoip1 1.4.8+dfsg-2php5-geoip爲什麼只返回一些這些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模塊安裝不正確,它會不會完全沒有任何數值失敗?

是否有一些圖書館或我失蹤的東西?

如何讓我的代碼返回所有值,如經度和緯度?

回答

1

您可能正在使用免費的GeoLite IP數據庫。這個數據庫只包含國家信息。

包含更多詳細信息(如緯度和經度)的數據庫可以從Maxmind獲得付費。

+0

這是一直如此嗎?我確信在過去,我無需購買任何東西即可獲得經緯度。 – Questioner

+0

我不知道這是否總是如此,但如果不是這樣,很長一段時間(如5 - 10年)。畢竟Maxmind不是一個慈善機構。 – duskwuff

相關問題