[精讚] [會員登入]
2344

[Centos 6& 7] 安裝php-geoip

php-geoip是PHP由domain、ip查詢城市國家資料非常強的函式

分享此文連結 //n.sfs.tw/10399

分享連結 [Centos 6& 7] 安裝php-geoip@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2024-06-08 01:35:40 最後編修
2016-12-08 14:48:26 By 張○○
 

自動目錄

函式庫說明

http://php.net/manual/en/book.geoip.php

檢查

$ php -m | grep 'geoip'
<空的結果代表沒裝,預設沒有,如果有裝會顯示'geoip'>

安裝

Centos6安裝

# php -v
PHP 5.5.38 (cli) (built: Sep 19 2016 13:55:55)

# yum install php-geoip

 

Centos7+PHP5安裝

# php -v
PHP 5.6.28 (cli) (built: Nov 10 2016 20:36:59)

# yum install php56w-pecl-geoip

如果你的PHP版本是5.5
# yum install php55w-pecl-geoip

安裝完後重啟apache
# apachectl restart

Centos7+PHP7安裝

# php -v
PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS )

# yum install php70w-devel gcc GeoIP-devel  php70w-pear

# pecl install geoip-1.1.1

安裝完後在 php extension 目錄(可能在 /usr/lib64/php/modules)會有這個檔 geoip.so

# cd /etc/php.d

# vi geoip.ini

加上一行存檔離開重啟httpd

extension=geoip.so

docke中安裝

Dockerfile加入

RUN apt-get install -y geoip-database libgeoip-dev && \ pecl install geoip-beta && \ docker-php-ext-enable geoip

 

PHP範例

<?php
print geoip_country_code3_by_name ('tw.yahoo.com' ); // TWN
print geoip_country_code_by_name ('123.45.67.89' ); //KR

 

使用自帶的地理資料庫

MAXMIND 公司有提供地理資料庫GeoLite Legacy Downloadable Databases下載,包含有IPv4及IPv6的資料

公司 https://www.maxmind.com/en/

下載頁面 http://dev.maxmind.com/geoip/legacy/geolite/#IP_Geolocation

可以自行下載後用使用該公司的資料,但在授權使用上必須把該公司連結放在頁面上。

安裝

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

# gunzip GeoLiteCity.dat.gz

# mkdir -v /usr/share/GeoIP

# mv -v GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

PHP範例

geoip_setup_custom_directory('/usr/share/GeoIP/'); //指定資料庫目錄
print_r(geoip_database_info());  //資料庫來源、版號及版權
print_r(geoip_db_get_all_info());  //資料庫內容
print geoip_country_code3_by_name ('tw.yahoo.com' ); // TWN
print geoip_country_code_by_name ('123.45.67.89' ); //KR

 

END

你可能感興趣的文章

設定Google analytics API #1 -- Google網站上的設定 讓你的網站能夠存取你的Google analytics上面的資料

[CI3] 使用和修改日曆類別 calendar library CI3有一個日曆圖書館 library,可以快速的建立一個日曆,但是想修改讓他更棒

[PHP]解決ksort新增的SORT_NATURAL|SORT_FLAG_CASE方法 php>=5.4中ksort函數多了SORT_NATURAL 和 SORT_FLAG_CASE 旗標,對舊版的PHP中要怎麼辦?

PHP 產生連續的日期 要用PHP產生連續的日期,連續月份

PHP 移除陣列中的元素 要移除陣列中的其中一項元素

[phpmyadmin] 缺少 mcrypt 外掛,請檢查 PHP 設定 缺少 mcrypt 外掛,請檢查 PHP 設定,安裝php-mcrypt。

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

為什麼要買長達二十年的保單? 為什麼要買長達二十年的保單?找一個可以說服我買二十年保單的理由。

詭異的創業思維 創業的思維中,有多少銀彈,有多少技術,有多少人脈,有多少時間等等,每個都要考慮進去,以熱忱建立的關係脆弱的像蘇打餅乾一樣..

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式

[Centos6] 安裝wordpress Centos 6下安裝wordpress,非常簡單

[MYSQL] 設定字串欄位的預設值 新增表格的時候,字串欄位給予預設空值;數字欄位給預設數值;日期欄位給空值。