Я хочу использовать "облегченную" версию Adminer под названием Adminer Editor для доступа к файлу базы данных SQLite3 в том же каталоге.

Документация документация на официальном сайте не кажется слишком обширной, и я все еще пытаюсь найти работающее решение.

Я смог преодолеть ошибку Ни одно из поддерживаемых расширений PHP (SQLite3, PDO_SQLite) недоступно...

Позднее я застрял на ошибке Database does not support password..

После этого я столкнулся с ошибкой attempt to write a readonly database.

Я надеюсь, что мой опыт поможет другим людям, использующим редактор админки.

larwain

Ответов: 1

Ответы (1)

Моя система - Manjaro, основанная на Archlinux, некоторые команды могут отличаться для вашей системы.

.
  1. Установите php-sqlite: sudo pacman -S php-sqlite
  2. .
  3. Активируйте драйвер SQLite для php, отредактировав /etc/php/php.ini:
    Откомментируйте строку ;extension=sqlite3, удалив ;.
  4. Перезапустите apache, в моем случае: sudo systemctl restart httpd.service.
  5. Вы можете проверить, активен ли SQLite в php, написав в php файл и открыв его в браузере.
  6. .
  7. Скачайте исходный файл adminer-editor со страницы Adminer Editor и переименуйте его в adminer-editor.php.
  8. Скачайте plugin.php и login-password-less.php со страницы Plugins page и поместите их в подпапку plugins.
  9. Если у вас нет файла базы данных SQLite, вы можете создать его с помощью sqlite3 database.db в терминале.
  10. .
  11. Скачайте файл sqlite.php с adminer github repository и сохраните его как index.php.
  12. Ваша структура папок должна выглядеть следующим образом:
    adminer-editor.php
    database.db
    index.php
    plugins/
           |__ login-password-less.php
           |__ plugin.php

  1. Редактируйте ваш файл index.php. Содержимое моего файла выглядит так:
  1. Вы можете теперь перейти к вашему index.php, оставить поле Username пустым и ввести пароль, равный паролю в вашем index.php.
  2. .

редактирование: Некоторые моменты, на которые следует обратить внимание:

  • Папка, содержащая файл базы данных SQLite, должна иметь соответствующие права на запись, чтобы файл блокировки мог быть создан рядом с файлом базы данных в любое время, когда вы его используете. Хорошим решением может быть размещение файла базы данных в собственной подпапке. Убедитесь, что к самому файлу нельзя получить доступ из Интернета, возможно, используя файлы .htaccess и/или .htpasswd.
  • .
  • Некоторые текстовые редакторы нарушают функциональность перевода в php-файлах админки после их редактирования. Если это произойдет с вами, повторно загрузите исходный файл и используйте другой редактор. В моем случае micro сломал их, а nano - нет.

Некоторые вопросы, которые остались на моей стороне:

  • Есть ли способ установить разные имена пользователей для разных пользователей?
  • Что означает строка // TODO; Есть ли способ, чтобы я не хранил пароль в виде обычного текста в файле index.php?
  • Еще какие-нибудь улучшения, которые вы хотели бы предложить?

2022 WebDevInsider