2011-12-22 32 views
1

我試圖上傳我的文件免費虛擬主機,試用。我遇到了客戶端IP定位器的輸出問題。我正在使用maxmind數據庫。 「GeoIP.dat」使用沒有GeoIP PECL擴展名的Maxmind地理IP數據庫?

<?php print geoip_database_info(GEOIP_COUNTRY_EDITION); ?>

和輸出

Fatal error: Call to undefined function geoip_database_info() in /home/u_fg176/public_html/index.php on line 15

難道沒有發現,因爲該主機不提供PHP的安裝PECL分機功能geoip_database_info()?或者可能會有這個錯誤的另一個原因?

回答

0

是的,這將是原因。要求他們啓用或擴展,或者如果他們不合作尋找替代品。

+0

還有什麼替代方法?你的意思是不使用maxmind? – 2011-12-22 07:10:54

+0

替代方法是@deceze提到的。將這些文件自己包含在您的項目中。 – 2011-12-22 07:21:46

2

這的確是因爲你的主機沒有安裝PECL擴展。您可以使用代替equivalent PEAR extension Net_GeoIP的代碼,該代碼用PHP編寫,可以簡單地包含在您的項目中:

set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/Net_GeoIP'); 
require_once 'Net_GeoIP/Net/GeoIP.php'; 

$GeoIP = Net_GeoIP::getInstance(GEOIP_COUNTRY_EDITION); 
$location = $GeoIP->lookupLocation($ipAddress); 
+0

thanx爲您的幫助...即時通訊在Windows中工作,你是否必須下載pyrus.phar文件並將其安裝在我的項目文件夾下並在此託管中上傳? – 2011-12-22 07:49:02

+0

不,我的意思是你從下載>「下載僅用於手動安裝」下載PHP源代碼(http://download.pear.php.net/package/Net_GeoIP-1.0.0.tgz)。 – deceze 2011-12-22 07:58:23

+0

好吧,我只是下載,但我仍然有錯誤'警告:fopen(106)[function.fopen]:無法打開流:沒有這樣的文件或目錄在/home/u_fg176/public_html/Net/GeoIP.php在線425 致命錯誤:未捕獲

2011-12-22 09:17:33