Adminer是一款数据库管理软件,采用PHP语言编写,只需一个文件就能管理MySQL,Sqlite,MSSQL,Oracle等众多数据库。
本站之前有过介绍取代phpMyAdmin?MySQL管理工具Adminer,是相当的轻量且易用。
直到有一天,想用它打开Sqlite数据库,却发现了问题,点击登录时有如下提示
官方文档说要要想登录SQLite数据库,必须重构login()方法,但是又没给出重构的方法。经多方查找,得知4.2.5版本之后才有的这个限制。下面给出解决方法。
在adminer同目录建立admine-SQLite.php
,目录结构如下
/www/html/ adminer-4.6.2.php admine-SQLite.php
在admine-SQLite.php
内写入以下代码
<?php function adminer_object() { class AdminerSoftware extends Adminer { function login($login, $password) { global $jush; if ($jush == "sqlite") return ($login === 'admin') && ($password === 'changeme'); return true; } function databases($flush = true) { if (isset($_GET['sqlite'])) return ["/path/to/first.db", "/path/to/second.db"]; return get_databases($flush); } } return new AdminerSoftware; } include "./adminer-4.6.2.php"; #需引用正确的adminer主程序
保存之后访问http://yourdomain/admine-SQLite.php
系统选择SQLite3,数据库填写数据库的绝对路径,点击登录即可