如何将管理编辑器与 SQLite 一起使用?

pat*_*ato -1 php sqlite

我想使用名为Adminer Editor的 Adminer 的“轻型”版本来访问同一目录中的 SQLite3 数据库文件。

官方网站上的文档似乎不太广泛,我仍在尝试花了很长时间才找到可行的解决方案。

我能够克服这个None of the supported PHP extensions (SQLite3, PDO_SQLite) are available.错误。

后来我就被这个Database does not support password.错误卡住了。

此后我遇到了错误attempt to write a readonly database

我希望我的经验能够帮助其他使用管理员编辑器的人。

pat*_*ato 9

我的系统是基于 Archlinux 的 Manjaro,某些命令可能与您的系统不同。

  1. 安装 php-sqlite:sudo pacman -S php-sqlite
  2. 通过编辑激活 php 的 SQLite 驱动程序/etc/php/php.ini:通过
    删除.;extension=sqlite3;
  3. 重新启动 apache,在我的例子中:sudo systemctl restart httpd.service
  4. <?php phpinfo();您可以通过写入 php 文件并在浏览器中打开它来检查 SQLite 在 php 中是否处于活动状态。
  5. 从管理员编辑器页面下载管理员编辑器源文件并将其重命名为adminer-editor.php.
  6. 插件页面下载plugin.php并将它们放入子文件夹中。login-password-less.phpplugins
  7. 如果您没有 SQLite 数据库文件,您可以sqlite3 database.db在终端中创建它。
  8. sqlite.phpadminer github 存储库下载文件并将其另存为index.php.
  9. 你的文件夹结构应该是这样的:
    adminer-editor.php
    database.db
    index.php
    plugins/
           |__ login-password-less.php
           |__ plugin.php

Run Code Online (Sandbox Code Playgroud)
  1. 编辑你的index.php文件。我的文件内容是这样的:
    adminer-editor.php
    database.db
    index.php
    plugins/
           |__ login-password-less.php
           |__ plugin.php

Run Code Online (Sandbox Code Playgroud)
  1. 您现在可以浏览到您的index.php,将用户名字段保留为空,然后输入与您的 .php 文件中的密码相同的密码index.php

编辑:一些需要注意的事情:

  • 包含 SQLite 数据库文件的文件夹必须给予适当的写入权限,以便在您使用数据库文件时可以在数据库文件旁边创建一个锁定文件。一个好的解决方案可能是将数据库文件放在其自己的子文件夹中。确保文件本身无法从网络访问,可以使用 .htaccess 和/或 .htpasswd 文件。
  • 某些文本编辑器在编辑后会破坏 adminer php 文件中的翻译功能。如果您遇到这种情况,请重新下载原始文件并使用其他编辑器。就我而言,micro确实打破了它们,nano但没有。

我这边留下了一些问题:

  • 有没有办法为不同的用户设置不同的用户名?
  • 该行是什么// TODO意思?有没有一种方法可以让我不必将密码以纯文本形式存储在我的index.php文件中?
  • 您还有其他改进建议吗?