Laravel GeoIP-bibliotek – Ta reda på geolokalisering med IP-adress
Vill du ta reda på Geolocation för besökare som använder Laravel? Med hjälp av GeoIP-biblioteket kan du ta reda på användarens geolokalisering efter deras IP-adress. I den här artikeln diskuterar vi ett bibliotek som enkelt integrerar GeoIP i Laravel-applikationen.
Det finns några fall där du behöver få information om dina besökares geografiska läge. Dessa detaljer inkluderar latitud, longitud, tidszon, land, valuta etc.
Ett exempel på att använda Geolocation är onlinebutiker. I din butik kanske du vill visa olika priser och valutor baserat på besökarens land eller region. Ett annat exempel är om någon behöver blockera sina webbplatser för ett fåtal länder.
Med det sagt, låt oss ta en titt på hur du hittar Geolocation med hjälp av IP-adressen i Laravel.
Installation av Laravel GeoIP Library
För att komma igång måste du installera Laravel Geoip- biblioteket. Installera biblioteket med kommandot:
composer require torann/geoip
Registrera tjänsteleverantören med din applikation efter installationen av biblioteket. Öppna config/app.php
och lägg till tjänsteleverantörer i leverantörerna.
'providers' => [
......
TorannGeoIPGeoIPServiceProvider::class,
]
Lägg sedan till fasaden i aliasmatrisen.
'aliases' => [
....
'GeoIP' => TorannGeoIPFacadesGeoIP::class,
];
Efter ovanstående steg, publicera konfigurationen med kommandot:
php artisan vendor:publish --provider="TorannGeoIPGeoIPServiceProvider" --tag=config
Detta kommando publicerar en konfigurationsfil till config/geoip.php
.
Ta reda på geolokalisering med IP-adress
Vi är redo att få information om geolokalisering med en IP-adress. Biblioteket tillhandahåller en metod som du behöver skicka den faktiska IP-adressen till. I gengäld får du information om en IP-adress för geolokalisering.
Placera koden nedan i din applikation för att hämta information om en 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
När du använder biblioteket kan det vara möjligt att du får felet "Den här cache-butiken stöder inte taggning" med BadMethodCallException. Om så är fallet, ändra bara nedanstående rad från config/geoip.php
fil.
Byta ut
'cache_tags' => ['torann-geoip-location'],
Med
Rensa konfigurationscachen med kommandot:
php artisan config:cache
Försök nu att köra din kod igen. Den här gången ska du få utdata.
Jag hoppas att du lär känna hur du integrerar GeoIP på Laravels webbplats. Dela dina tankar och förslag i kommentarsektionen nedan.
relaterade artiklar
- Hitta Geolocation med IP-adress gratis i PHP
- En nybörjarguide för validering av Laravel
- Hur man loggar frågan i Laravel