Download the PHP package stevebauman/location without Composer

On this page you can find all versions of the php package stevebauman/location. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

Please rate this library. Is it a good library?

All versions of location with dependencies

Informations about the package location


Travis CI Scrutinizer Code Quality Latest Stable Version Total Downloads License

Retrieve a user's location from their IP address using external web services, or through a flat-file database hosted on your server.



Run the following command in the root of your project:

Note: If you're using Laravel 5.5 or above, you can skip the registration of the service provider, as it is registered automatically.

Add the service provider in config/app.php:

Publish the config file (will create the location.php file inside the config directory):


Retrieve a user's location

Note: This method retrieves the user's IP address via request()->ip():

Retrieve the location of a specific IP address


Available Drivers

Available drivers at the moment are:

Setting Up MaxMind (optional)

To setup MaxMind to retrieve the user's location from your own server, create a maxmind account, create a license key and download the database file in mmdb format:

  1. Extract the downloaded file (you may need to use an application such as 7zip if on Windows)
  2. Create a maxmind folder inside your database directory (database/maxmind)
  3. Place the GeoLite2-City.mmdb file into the maxmind directory

You should end up with a folder path of: my-laravel-app/database/maxmind/GeoLite2-City.mmdb.

Then, set your default driver to Stevebauman\Location\Drivers\MaxMind::class, and you're all set!

Note: Keep in mind, you'll need to update this file continuously to retrieve the most current information.

Fallback drivers

In the config file, you can specify as many fallback drivers as you wish. It's recommended to install the MaxMind database .mmdb file so you are always retrieving some generic location information for the user.

If an exception occurs trying to grab a driver (such as a 404 error if the providers API changes), it will automatically use the next driver in line.

Creating your own drivers

To create your own driver, simply create a class in your application, and extend the abstract Driver:

Then, insert your driver class name into the configuration file:


Location is versioned under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

And constructed with the following guidelines:

Minor versions are not maintained individually, and you're encouraged to upgrade through to the next minor version.

Major versions are maintained individually through separate branches.

Requires php Version >=5.6.0
ext-json Version *
ext-curl Version *
illuminate/support Version ~5.0|~6.0|~7.0|~8.0
geoip2/geoip2 Version 2.8.*

The package stevebauman/location contains the following files

Loading the files please wait ....