Назад | Перейти на главную страницу

php geoip не работает на ubuntu 18.04

Я не могу заставить расширение GeoIP PHP работать в Ubuntu 18.04 с PHP 7.2

Я установил это по клику: sudo apt-get install -y php7.2-geoip

Он включен в системе, но не работает:

php7.2 -i | grep geoip
/etc/php/7.2/cli/conf.d/20-geoip.ini,
geoip
geoip support => enabled
geoip extension version => 1.1.1
geoip library version => 1006012
geoip.custom_directory => no value => no value

тестирование с помощью следующего php-кода:

<?php
echo $_SERVER['GEOIP_COUNTRY_CODE'];

но модуль GEOIP не работает

Похоже, вы путаете две вещи. Вы устанавливаете расширение geoip для PHP. Тем не мение, $_SERVER['GEOIP_COUNTRY_CODE'] заполняется модулем Apache mod_geoip.

Установить модуль Apache

sudo apt install -y libapache2-mod-geoip

Измените файл /etc/apache2/mods-enabled/geoip.conf и удалите # перед GeoIPDBFile - и установите GeoIPENable на On:

  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat

Сохраните файл, перезапустите apache: apache2ctl restart

Теперь у вас будет $_SERVER['GEOIP_COUNTRY_CODE'] доступный.