Библиотека Laravel GeoIP – определение геолокации по IP-адресу
Хотите узнать геолокацию посетителей с помощью Laravel? Используя библиотеку GeoIP, вы можете узнать геолокацию пользователя по его IP-адресу. В этой статье мы обсуждаем библиотеку, которая легко интегрирует GeoIP в приложение Laravel.
Есть несколько случаев, когда вам нужно получить подробную информацию о географическом положении ваших посетителей. Эти данные включают широту, долготу, часовой пояс, страну, валюту и т.д.
Один из примеров использования геолокации – интернет-магазины. В вашем магазине вы можете отображать разные цены и валюты в зависимости от страны или региона посетителя. Другой пример: кому-то нужно заблокировать свои веб-сайты для нескольких стран.
При этом давайте посмотрим, как найти геолокацию с помощью IP-адреса в Laravel.
Установка библиотеки Laravel GeoIP
Для начала вам необходимо установить библиотеку Laravel Geoip. Установите библиотеку с помощью команды:
composer require torann/geoip
После установки библиотеки зарегистрируйте поставщика услуг в своем приложении. Откройте config/app.php
и добавьте поставщиков услуг в массив поставщиков.
'providers' => [
......
TorannGeoIPGeoIPServiceProvider::class,
]
Затем добавьте фасад в массив псевдонимов.
'aliases' => [
....
'GeoIP' => TorannGeoIPFacadesGeoIP::class,
];
После вышеуказанных шагов опубликуйте конфигурацию с помощью команды:
php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config
Эта команда публикует файл конфигурации в config/geoip.php
.
Узнайте геолокацию с помощью IP-адреса
Мы все настроены на получение данных о геолокации с использованием IP-адреса. Библиотека предоставляет метод, которому необходимо передать фактический IP-адрес. Взамен вы получаете информацию о геолокации IP-адреса.
Поместите приведенный ниже код в свое приложение, чтобы получить подробную информацию об IP.
$arr_ip = geoip()->getLocation('YOUR_IP_ADDRESS_HERE');
print_r($arr_ip);
echo $arr_ip->country; // get a country
echo $arr_ip->currency; // get a currency
При использовании библиотеки возможно появление ошибки «Это хранилище кеша не поддерживает тегирование» с исключением BadMethodCallException. Если это так, просто измените строку ниже из config/geoip.php
файла.
Заменять
'cache_tags' => ['torann-geoip-location'],
С участием
Очистите кеш конфигурации с помощью команды:
php artisan config:cache
Теперь попробуйте еще раз запустить свой код. На этот раз вы должны получить результат.
Надеюсь, вы узнали, как интегрировать GeoIP на веб-сайт Laravel. Пожалуйста, поделитесь своими мыслями и предложениями в разделе комментариев ниже.
Статьи по Теме
- Найдите геолокацию с помощью IP-адреса бесплатно в PHP
- Руководство для начинающих по валидации Laravel
- Как записывать запрос в Laravel