hocvt / laravel-adminer
Laravel Adminer Database Manager
Requires
- php: >=7.4.0
- illuminate/contracts: ~5.0|~6.0|~7.0|~8.0|~9.0|~10.0|^11.0|^12.0
- illuminate/routing: ~5.0|~6.0|~7.0|~8.0|~9.0|~10.0|^11.0|^12.0
- illuminate/support: ~5.0|~6.0|~7.0|~8.0|~9.0|~10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2025-07-09 08:29:20 UTC
README
Light weight Adminer database management tool integrated into Laravel 5 and above.
Various database support: MySQL, SQLite, PostgreSQL, Oracle, MS SQL, Firebird, SimpleDB, MongoDB, Elasticsearch, and etc.
Forked
Original package onecentlin/laravel-adminer
Installation
composer require hocvt/laravel-adminer --dev
OR
Update composer.json
in require section:
"require-dev": { "hocvt/laravel-adminer": "^7.0" },
Run:
composer update hocvt/laravel-adminer
Register package
Laravel auto package discovery feature added since package v6.0, you may skip this step.
Update config/app.php
'providers' => [ ... Onecentlin\Adminer\ServiceProvider::class, ];
Publish config and theme file
php artisan vendor:publish --provider="Onecentlin\Adminer\ServiceProvider"
This action will copy two files and one folder:
config/adminer.php
- Adminer config filepublic/adminer.css
- Adminer theme fileresources/plugins
- Adminer plugins directory
config file: config/adminer.php
<?php return [ 'enabled' => env('ADMINER_ENABLED', true), 'autologin' => env('ADMINER_AUTO_LOGIN', false), 'route_prefix' => env('ADMINER_ROUTE_PREFIX', 'adminer'), 'middleware' => 'auth', 'plugins' => [], ];
ATTENSION: Please only enable autologin with authenticated protection.
theme file: public/adminer.css
You may download adminer.css
from Adminer or create custom style, and place it into public
folder.
Setup Access Permission (Middleware)
Package v6.0 allow customized middleware config, you may skip this step or modify to fit your needs.
Laravel 11 middleware setup changes
Since Laravel v11 remove Kernel.php
, the middleware setup point to bootstrap/app.php
Add your middleware group in withMiddleware
section:
return Application::configure(basePath: dirname(__DIR__)) ->withProviders() ->withRouting() ->withMiddleware(function (Middleware $middleware) { // [SETUP HERE] Adminer Middleware group $middleware->group('adminer', [ \Illuminate\Cookie\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\Auth\Middleware\Authenticate::class, ]); }) ->withExceptions(function (Exceptions $exceptions) { // })->create();
Laravel 5.2 and above
Setup for middleware group supported for Laravel 5.2 above (~v10)
Modify config/adminer.php
: 'middleware' => 'adminer',
Modify app/Http/Kernel.php
file with adminer
in $middlewareGroups
protected $middlewareGroups = [ ... 'adminer' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, // TODO: you may create customized middleware to fit your needs // example uses Laravel default authentication (default protection) \Illuminate\Auth\Middleware\Authenticate::class, ], ];
Enable Plugins
Drop your plugin files in resources/adminer/plugins
Modify config/adminer.php
: 'plugins' => []
by adding the name of the plugin class and any argument required
return [ ... 'plugins' => [ 'PluginClassNameWithoutArguments', 'PluginClassNameWithArgument' => 'argument_value', 'PluginClassNameWithMultipleArguments' => ['arg1', 'arg2', ...], ], ];
Access adminer
Open URL in web browser
http://[your.domain.com]/adminer
Remarks
Due to function name conflicts of Laravel 5 and Adminer, adminer.php file
functions cookie()
, redirect()
and view()
are prefixed with adm_
prefix.
Inspired by miroc