Как настроить и использовать GeoIP Lite

Вопрос: Мне нужно иметь возможность использовать версию MaxMind GeoLite для поиска пользователей Страна, Город и Longitude/Latitude. Базы данных очевидны для тех, которые мне нужны, кроме того, что требуется для долготы/широты. Необходимые базы данных; Страна GeoLite GeoLite City Что еще мне нужно или может найти longitude/latitude через вышеуказанные базы данных? Существует несколько версий, которые вы можете

Вопрос:

Мне нужно иметь возможность использовать версию MaxMind GeoLite для поиска пользователей Страна, Город и Longitude/Latitude. Базы данных очевидны для тех, которые мне нужны, кроме того, что требуется для долготы/широты.

Необходимые базы данных;

  • Страна GeoLite
  • GeoLite City
  • Что еще мне нужно или может найти longitude/latitude через вышеуказанные базы данных?

Существует несколько версий, которые вы можете скачать. Ниже приведен список тех, которые вы можете скачать;

  • Двоичный /gzip
  • Двоичный /xz
  • CSV/gzip
  • CSV/zip
  • CSV/xz

Я не понимаю, что это значит, и мне хотелось бы помочь определить, какой из них мне нужно скачать.

Хотя я могу использовать свой бизнес-аккаунт 1and1, я еще не сделал ничего общего с базами данных. Может ли кто-нибудь дать мне представление о том, как я настроил базу данных и загрузил в нее эти файлы?

Наконец, где я могу найти помощь по использованию моей новой базы данных, читая ее, повторяя расположение пользователей и еще что-то на странице?

Спасибо за ваше время и любую помощь в продвинутом.

С наилучшими пожеланиями, Тим

Лучший ответ:

Если у вас есть прямой доступ к серверу/командной строке, вы можете использовать двоичный формат. Это обеспечивает лучшую производительность, но вам нужно будет изменить свою конфигурацию PHP, чтобы установить расширение GeoIP или пакет Pecl. Затем вы получаете доступ к некоторым удобным функциям PHP: http://www.php.net/manual/en/ref.geoip.php

Полные документы здесь: http://www.php.net/manual/en/book.geoip.php

Если у вас нет доступа к конфигурации сервера, вы можете загрузить версии CSV и импортировать их в базу данных MySQL. Затем вы получите прямой доступ к данным, и вы можете написать соответствующие запросы для получения результатов, необходимых вашему приложению. Если вы используете панель PHP MyAdmin MySQL, вы можете просто загрузить CSV gz или zip и загрузить/импортировать напрямую. Сначала вам нужно создать таблицы. Не забудьте создать индексы в соответствующих столбцах.

GeoLite City содержит две таблицы: IP-блок /City and City Locations (lat/lng). Страна GeoLite содержит только IP-блоки и названия стран.

Если вам не нужны данные IP, база данных World Cities может быть более подходящей:

–EDIT

Если вас интересует только второй файл данных города geoIP, следующий SQL создаст таблицу с необходимыми столбцами:

DROP TABLE IF EXISTS location; CREATE TABLE location( locId int(10) unsigned NOT NULL, country char(2) NOT NULL, region char(2) NOT NULL, city varchar(50), postalCode char(5) NOT NULL, latitude float, longitude float, dmaCode integer, areaCode integer, PRIMARY KEY (locId) );

Google – ваш друг: http://odkq.com/geolitecity

Ответ №1Содержание

  1. Многие способы использования GeoIP
  2. Установка GeoIP Lite на CentOS/RHEL и Apache
  3. Географические переменные доступны в GeoIP для PHP

Многие способы использования GeoIP

Существуют три подхода к использованию GeoIP:

  • Установите GeoIP в качестве расширения PHP PECL (для Apache или NginX) и получите доступ к нему через PHP (есть другие языки, это только один из наиболее распространенных. Требуется root и доступ к командной строке.
  • Используйте пакет аналитики, который использует GeoIP (установленный выше), например, Piwik с открытым исходным кодом.
  • Если вы используете что-то вроде WordPress, есть хотя бы один плагин (GeoIP Detect), который не требует root.

В общем, база данных географических данных – это не то, к чему вы могли бы получить доступ напрямую, но использовать какое-то приложение для поиска (против IP-адресов).

Вот несколько инструкций по установке базы данных GeoIP Lite и ее доступности для PHP. Это предполагает, что CentOS/RHEL и Apache

Установка GeoIP Lite на CentOS/RHEL и Apache

sudo mkdir /usr/share/GeoIP sudo cd /usr/share/GeoIP sudo wget sudo wget sudo gunzip GeoIP.dat.gz sudo gunzip GeoLiteCity.dat.gz sudo yum update -y sudo yum install -y geoip geoip-devel sudo pecl channel-update pecl.php.net sudo pecl install geoip sudo nano /etc/php.d/geoip.ini

Добавьте в файл geoip.ini следующее:

extension=geoip.so geoip.custom_directory = /usr/share/GeoIP/

Перезапустить веб-сервер

Географические переменные доступны в GeoIP для PHP

Следующие переменные доступны через функции GeoIP PHP:

  • Страна
  • Регион (провинция, штат)
  • город
  • Почтовый индекс
  • широта
  • долгота
  • DMA (US/CA)
  • Код телефонной зоны (только для PSTN/NA)
  • Часовой пояс
Оцените статью
Добавить комментарий