PHP 에 GeoIP 를 사용할 경우 확장 모듈을 설치 하는 방법 입니다.

http://pecl.php.net/package/geoip

[root@yongbok ~]# cd /usr/local/src

[root@yongbok ~]# wget http://pecl.php.net/get/geoip-1.0.7.tgz

[root@yongbok ~]# wget http://pecl.php.net/get/geoip-1.1.1.tgz    (php7 이상일 경우) // 1.1.1 버전은 베타이긴 하나 작동에 이상은 없었다.

[root@yongbok ~]# tar xzvf geoip-1.0.7.tgz

[root@yongbok ~]# cd geoip-1.0.7

[root@yongbok ~]# /usr/local/php5/bin/phpize

[root@yongbok ~]# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-geoip=/usr/local

[root@yongbok ~]# make ; make install

Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/

php.ini 파일에 GeoIP 구문 추가

[root@yongbok ~]# vi /usr/local/apache2/conf/php.ini
[GeoIP]
extension_dir=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
extension = geoip.so
geoip.custom_directory=/usr/local/share/GeoIP (GeoIP.dat 파일의 경로 정의, 시스템마다 다를수 있음)

아파치 재시작
[root@yongbok ~]# /usr/local/apache2/bin/apachectl restart

phpinfo 로 확인
[root@yongbok ~]# echo '<?php phpinfo(); ?>'>/var/www/phpinfo.php


[출처] http://cy.cyworld.com/home/37141209/post/4BB719E61B15773CBD468401

[추가] php 에서 GeoIP 사용 샘플 (접속자 IP체크하여 국가코드 출력) // 2023. 1. 12 추가됨

<?php
geoip_setup_custom_directory('/home/your_account/');
$a = $_SERVER['REMOTE_ADDR'];
$country = geoip_country_code_by_name($a);
echo "Your IP : ".$a." [$country]";
?>

[설명] geoip_setup_custom_directory() 함수는 이미 php.ini 에 정의되어 있는데 소스코드에 별도로 정의하는 이유는

php.ini 에 정의된 geoip_setup_custom_directory 의 퍼미션이 other가 읽기권한이 없으면 국가코드가 NULL 로 

출력되는데 퍼미션 변경이 불가한 상황일 때 위 방법 (일반계정 내에 데이터 파일을 업로드 하고 경로 정의) 을

이용하면 문제 없이 국가코드가 출력된다.

'Works > 확장모듈설치매뉴얼' 카테고리의 다른 글

apache mod_proxy.so 컴파일 방법  (0) 2023.09.08
apache mod_unique_id module 추가  (0) 2023.04.20
Zend Guard Loader 설치  (0) 2017.05.17
APC 확장모듈 설치  (0) 2017.04.26
freetds 확장모듈 설치  (0) 2016.09.27