And*_*tto 6 php database sqlite adminer
我正在运行一个托管MySQL实例(带有几个数据库)和一些SQLite文件的服务器.我想使用Adminer来管理所有这些,前提是用户提供了有效的凭据.此外,还应填充数据库列表.
在MySQL的情况下,可以使用有效的数据库用户,并且连接开箱即用.但是,必须明确添加SQLite支持.Adminer给出了这个错误:
Implement login() method to use SQLite.
Run Code Online (Sandbox Code Playgroud)
Adminer类以启用SQLite登录?此答案适用于Adminer 4.2.5版.不幸的是,它对Adminer 4.3.x无效.
你需要重写login和databases该方法的Adminer类,确保你只为SQLite的驱动程序去做,而不是在其他情况下.以下代码实现了具有数据库列表的基本登录系统:
<?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.2.5.php";
Run Code Online (Sandbox Code Playgroud)
代码可以适用于支持多个用户.将文件保存在index.php所在的同一目录中adminer-4.2.5.php.确保调整用户名,密码和数据库路径.
以下是一些重要的评论:
login方法没有正确命名,它是由Adminer执行的初始检查true | 归档时间: |
|
| 查看次数: |
3807 次 |
| 最近记录: |