WordPress на SQLite
WordPress обычно работает с MySQL или MariaDB, но SQLite тоже поддерживается, хотя и не официально.
В этой заметке рассмотрим как установить WordPress с SQLite и когда это может пригодиться.
PHP с поддержкой SQLite3
Убедитесь, что на сервере включено расширение sqlite3
. Проверьте это через phpinfo()
или команду:
php -m | grep sqlite3
Если расширение отсутствует, активируйте его в php.ini:
extension=sqlite3
Перезапустите сервер (Apache/Nginx).
У кого установлен Laragon, достаточно активировать через интерфейс:
Скачать и распаковать WordPress
Скачайте WordPress и распакуйте в нужное место вашего сервера.
Можно воспользоваться curl:
# Скачать WordPress в текущую папку curl -O https://wordpress.org/latest.tar.gz # Распаковать архив tar -xzvf latest.tar.gz
Или через WP CLI команду
wp core download
Работа с плагином SQLite Database Integration
Скачайте плагин SQLite Database Integration и распакуйте в папку /wp-content/plugins/
, чтобы файлы плагина лежали по пути /wp-content/plugins/sqlite-database-integration/
Можно и из командной строки
# Выполнять в папке plugins curl -LO https://downloads.wordpress.org/plugin/sqlite-database-integration.latest-stable.zip # Тут же и распаковать tar -xf sqlite-database-integration.latest-stable.zip
После этого скопируйте файл db.copy
из папки плагина в папку /wp-content/
и переименуйте его в db.php
. По итогу должен быть файл по пути /wp-content/db.php
.
Можно командой:
cp sqlite-database-integration/db.copy ../../wp-content/db.php
Теперь этот файл - это SQLite-клиент, который WordPress будет использовать для подключения и запросов к БД.
Конфигурация wp-config.php
Из коробки файла wp-config.php нет и создать его даже через WP CLI не получится, так как требуется подключение к MySQL базе, которой у нас нет и не будет. Поэтому просто создаём файл wp-config.php
из файла wp-config-sample.php
вручную или с помощью команды:
# Выполняется на уровне этих файлов cp wp-config-sample.php wp-config.php
Необязательный шаг. Теперь внутри найдите константы, отвечающие за подключение к БД, и удалите их. Они всё равно не используются. Это будет удобно, чтобы ни у кого не возникало вопросов в будущем.
/** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** Database username */ define( 'DB_USER', 'username_here' ); /** Database password */ define( 'DB_PASSWORD', 'password_here' ); /** Database hostname */ define( 'DB_HOST', 'localhost' ); /** Database charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The database collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );
Мы можем тут добавить разнообразные конфигурации, переопределяющие работу плагина, но для базовой установки ничего этого не требуется.
Установка WordPress
Переходим на сайт в браузере, по домену который настроили. Видим запуск WordPress и привычную установку.
Результат
После установки в каталоге wp-content/database/
появятся файлы:
Название файла | Размер | Содержимое |
---|---|---|
.ht.sqlite | 1Mb | Сама БД |
.htaccess | 13 byte | DENY FROM ALL |
index.php | 28 byte | <?php // Silence is gold. ?> |
Самое главное - работающий WordPress. Однако есть нюансы в работе. О них еще поговорим.
Эта статья будет обновляться по мере возникновения проблем и их решений.
Плюсы и минусы
Плюсы:
- Простота развертывания — не требует отдельного сервера базы данных.
- Лёгкость бэкапа и миграций — всё хранится в одном .sqlite файле.
- Быстродействие на малых сайтах — отличная производительность при низкой нагрузке.
- Подходит для локальной разработки — удобен для быстрого тестирования.
- Минимум зависимостей — нет нужды в MySQL/MariaDB.
Минусы:
- Ограничения масштабируемости — плохо работает с высокой конкуренцией запросов.
- Совместимость - WordPress официально не поддерживает SQLite, нужны сторонние плагины (SQLite Database Integration всё ещё сторонний).
- Сложности с плагинами и темами — некоторые не работают из-за специфики SQL-запросов.
- Отсутствие репликации и кластеризации — не годится для высоконагруженных проектов.
- Ограниченная поддержка сообщества — мало готовых решений по SQLite + WP.
- Скудная документация - толковых инструкций практически нет, информацию приходится собирать по форумам.
- Частичная несовместимость с WP-CLI — часть команд (например, import/export) обращается к MySQL напрямую, минуя wpdb, поэтому с SQLite не работает.
Зачем это может быть нужно?
Иногда WordPress на SQLite — это просто удобно. Например, когда нужно сделать сайт-визитку или простой проект "для декабря упаковал — и отдал клиенту". Разворачивать полноценную базу и настраивать миграции ради такого — бессмысленно. SQLite позволяет избежать этой лишней мороки.
Также это отличное решение для личных проектов или разработки "по фану" — например, когда работаешь с API (ВКонтакте, Кинопоиск и т.д.), собираешь данные, тестируешь AI, или реализуешь простой поиск. Пока данные можно хранить в JSON — ок, но когда нужна полноценная структура и гибкость — SQLite отлично заменяет MySQL, не требуя сервера.
Это особенно удобно, если проект не критичен, но хочется базу данных "в одном файле", без лишних зависимостей и танцев с бэкапами.
Ну и список вариантов где это может пригодится:
- Для локальной разработки без MySQL.
- Для лёгких сайтов с малой нагрузкой.
- Для тестирования плагинов и тем.
- Для обучения и экспериментов.
- Для прототипирования сайтов.
- Для офлайн-демонстраций без сервера.
- Для CI/CD-сред с минимальными зависимостями.
- Для статической генерации сайта (через плагины).
- Для портативных сборок, всё в одной папке.
- Для серверов без MySQL/MariaDB.
- Для дешёвого хостинга с ограничениями.
- Для бэкапов — упрощённое резервное копирование.
- Для безопасности — меньше векторов SQL-инъекций.
- Для простоты установки и миграции.