메뉴 건너뛰기

Karma's Place

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

PHP 8.0에 Geoip 설치하기

조회 수 143 추천 수 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"

?

  1. No Image 05Jul
    by 카르마
    2023/07/05 in Rhymix & XE
    Views 118 

    Imagick을 짝사랑??

  2. No Image 19May
    by 카르마
    2023/05/19 in 기타등등
    Views 114 

    Galkuri class의 SSL 대응

  3. PHP 8.0에 Geoip 설치하기

  4. 카르마의 4중 백업 : 리눅스서버와 윈도우 PC간의 교차백업

  5. No Image 27Apr
    by 카르마
    2023/04/27 in 기타등등
    Views 355 

    카르마의 4중 백업 : lsyncd를 이용한 동기화

  6. No Image 27Apr
    by 카르마
    2023/04/27 in 기타등등
    Views 56 

    카르마의 4중 백업 : rsync를 이용한 원격백업

  7. No Image 27Apr
    by 카르마
    2023/04/27 in 기타등등
    Views 34 

    카르마의 4중 백업 : 데이터베이스 백업 스크립트

  8. 가정이나 사무실의 홈서버를 위한 공유기 세팅

  9. 록키 리눅스 9.1에서 apache, mysql, PHP 설치

  10. 인터넷 장애와 Dual Wan

  11. 노트북서버의 장점

  12. 노트북 서버 뚜껑을 닫고 사용하자.

  13. 셔플

  14. 로그인 모달창에서 recaptcha 사용하기

  15. 로그인시 reCAPTCHA 사용하기

  16. 이미지프로세스 모듈 사용법

  17. Centos PHP5.6에 imagick 설치하기

  18. No Image 11Mar
    by 카르마
    2019/03/11 in 기타등등
    Views 643 

    사진속 GPS 정보의 위험성

  19. 미디어플레이어 애드온 사용법

  20. Github 사용법이 좀처럼 익숙해지지 않네요.

계속 검색
Board Pagination Prev 1 2 3 Next
/ 3
위로