메뉴 건너뛰기

Karma's Place

로그인하지 않고 댓글을 달 수 있습니다. 하지만 본사이트의 취지에 맞지않는 댓글은 예고없이 삭제될 수 있습니다.
서버 인터넷
2023.05.04 15:00

PHP 8.0에 Geoip 설치하기

조회 수 137 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부

이전 서버에서는 아파치모듈로된 GEOIP를 사용했었다. 

이경우는 $_SERVER['GEOIP_COUNTRY_CODE'] 처럼 바로 변수로 나오기는 하지만 설치가 머시기 한데다가

결정적인 것은 새로 서버를 설치하면서 Apache를 mod_mpm_event로 설정했더니

apache_get_modules()가 먹통이 되었다.

하는 수 없이 노선변경

 

이번에는 php pecl 모듈로된 GEOIP를 설치했다.

사용법은 약간 다르지만 dnf로 간단히 설치된다.

 

https://www.php.net/manual/en/geoip.installation.php

위의 링크에 7.4를 기준으로 설명되어있다.

K-1703.png

 

php 버전에 따라서 약간씩 바꿔야한다.

나는 8.0이고 이미 remi 설정은 생략하고 바로...

sudo dnf search geoip 

해보면 php 버전에 따라 종류별로 나온다.

...
php74-php-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
php80-php-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
php81-php-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
php82-php-pecl-geoip.x86_64 : Extension to map IP addresses to geographic places
....

이중 8.0을 골라서... 설치...

sudo dnf install php80-php-pecl-geoip
 

sudo cp /etc/opt/remi/php80/php.d/40-geoip.ini /etc/php.d/
sudo vi /etc/php.d/40-geoip.ini

수정

; extension=geoip.so
extension = /opt/remi/php80/root/usr/lib64/php/modules/geoip.so
 

sudo systemctl restart php-fpm

sudo systemctl restart httpd

 

php -m 해서 geoip 모듈을 확인해보거나

phpinfo에서 geoip 섹션이 나타나면 성공!!!

K-1704.png

https://www.php.net/manual/en/book.geoip.php 에 보면 여러가지 함수가 있으나 쓰는 것은 한가지 밖에 없다.

 

if (extension_loaded('geoip')) $isKoreanIP = geoip_country_code_by_name($_SERVER['REMOTE_ADDR']);
var_dump($isKoreanIP);

 

결과는

string(2) "KR"

?

List of Articles
번호 분류 제목 날짜 조회 수
13 기타등등 셔플 file 2021.09.14 198
12 서버 인터넷 노트북 서버 뚜껑을 닫고 사용하자. file 2021.09.23 280
11 서버 인터넷 노트북서버의 장점 1 file 2021.09.27 1310
10 기타등등 인터넷 장애와 Dual Wan file 2021.10.25 1187
9 서버 인터넷 록키 리눅스 9.1에서 apache, mysql, PHP 설치 file 2023.04.06 163
8 서버 인터넷 가정이나 사무실의 홈서버를 위한 공유기 세팅 file 2023.04.20 83
7 기타등등 카르마의 4중 백업 : 데이터베이스 백업 스크립트 2023.04.27 33
6 기타등등 카르마의 4중 백업 : rsync를 이용한 원격백업 2023.04.27 55
5 기타등등 카르마의 4중 백업 : lsyncd를 이용한 동기화 2023.04.27 343
4 기타등등 카르마의 4중 백업 : 리눅스서버와 윈도우 PC간의 교차백업 file 2023.04.27 136
» 서버 인터넷 PHP 8.0에 Geoip 설치하기 file 2023.05.04 137
2 기타등등 Galkuri class의 SSL 대응 2023.05.19 110
1 Rhymix & XE Imagick을 짝사랑?? 2023.07.05 113
계속 검색
Board Pagination Prev 1 2 3 Next
/ 3
위로