Начало работы
Требования
- PHP 8.2+
- WordPress 6.4+
- MySQL или MariaDB через обычное подключение к базе данных WordPress
- доступный для записи каталог
wp-config.phpпри активации плагина
Установка
Установите Rudel с помощью Composer и активируйте его как обычный плагин WordPress.
composer require rudel/rudel
wp plugin activate rudel
Composer устанавливает Rudel в vendor/rudel/rudel, если только проект не размещает плагины WordPress в wp-content/plugins (например, с помощью composer/installers). Чтобы wp plugin activate rudel обнаружил плагин, тот должен находиться в каталоге плагинов.
Что делает активация
При активации создаются таблицы Rudel, планируется ежечасная очистка и добавляется строка загрузчика в wp-config.php непосредственно над строкой, загружающей wp-settings.php. Благодаря этой строке Rudel может выбрать песочницу до завершения загрузки WordPress. Сначала Rudel создает резервную копию с именем wp-config.php.rudel-backup-{timestamp}.
Отдельной команды установки нет. Если запись в wp-config.php запрещена, активация завершится ошибкой. Деактивация удаляет строку и запланированное событие.
Проверьте состояние среды выполнения:
wp rudel status
Bootstrap installed должно отображать yes.
Создание песочницы
wp rudel create --name=alpha --theme=twentytwentyfour
Rudel выводит созданный идентификатор песочницы, например alpha-3be7. Команда клонирует таблицы хоста WordPress в таблицы с отдельным префиксом песочницы, копирует тему в каталог песочницы и сохраняет запись в базе данных хоста WordPress. В примерах ниже используется alpha-3be7; укажите идентификатор, выведенный вашей командой.
Использование WP-CLI в песочнице
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
Без RUDEL_ENVIRONMENT команда WP-CLI обращается к хосту.
Направление HTTP в песочницу
curl -H 'X-Rudel-Environment: alpha-3be7' http://localhost:8000/
Для сеанса браузера задайте файл cookie rudel_environment с идентификатором песочницы. Rudel считывает файл cookie, но никогда не устанавливает и не удаляет его. Удалите файл cookie, чтобы вернуться к хосту.
Песочница работает на хосте URL. Без заголовка или файла cookie тот же URL обслуживает хост.