Перейти к содержимому
Перейти в KPanelПерейти в KPanel
Содержание
WordPress

Использование WP-CLI на вашем сайте WordPress

Машинный перевод. Английский оригинал доступен.

KPanel включает консоль WP-CLI, которая выполняет команды для вашего сайта на WordPress прямо из браузера, без SSH-клиента и без входа на сервер. В этом руководстве описано, где её найти, какие именно команды разрешены и почему, какие сочетания встроены в экран, а также что делать, если нужно выполнить то, что консоль не запускает.

Открытие консоли

  1. Войдите в KPanel и нажмите Веб-сайты в левой боковой панели.
  2. Нажмите на свой сайт на WordPress.
  3. Откройте вкладку WordPress, затем раздел Console.

Консоль WP-CLI на сайте WordPress в KPanel

Поле ввода уже начинается с фиксированного wp, поэтому вы вводите только то, что идёт после него. plugin list, а не wp plugin list. Нажмите Enter или кнопку Run.

Console это один из разделов, которые отображаются на управляемых тарифных планах. На других тарифных планах строка вкладок заканчивается ссылкой +8 on Managed. У каждого действия, описанного здесь, кроме выполнения команд напрямую, есть эквивалентная кнопка в другом месте KPanel, так что ничего не остаётся недоступным: консоль это просто более быстрый способ обратиться к тому же механизму.

Команды выполняются от имени системного пользователя вашего сайта, внутри директории вашего сайта. Они не могут видеть или затрагивать какой-либо другой сайт.

Что консоль будет и не будет выполнять

Консоль использует список разрешённых команд. Принимаются только перечисленные ниже префиксы команд, всё остальное отклоняется ещё до того, как дойдёт до сервера, с сообщением, называющим отклонённую команду.

ОбластьРазрешено
Ядроcore version, core check-update, core update, core is-installed, core verify-checksums
Плагиныplugin list, plugin update, plugin install, plugin activate, plugin deactivate, plugin status, plugin get, plugin delete, plugin verify-checksums
Темыtheme list, theme update, theme install, theme activate, theme status, theme get, theme delete
Пользователиuser list, user get, user create, user update, user set-role, user delete, user reset-password, user add-cap, user remove-cap, user generate
База данныхdb size, db tables, db optimize, db repair, db check
Кеш и временные данныеcache flush, cache get, cache set, cache add, cache delete, transient get, transient set, transient delete
Правила переадресацииrewrite flush, rewrite list, rewrite structure
Croncron event list, cron event run, cron schedule list
Конфигурацияconfig get, config list, config has, config shuffle-salts
Режим обслуживанияmaintenance-mode activate, maintenance-mode deactivate, maintenance-mode status
Проверка только для чтенияoption get, option list, post list, post get, comment list, comment get
Медиа и языкmedia regenerate, language core install, language core update
Поиск и заменаsearch-replace

Намеренные исключения важнее самих разрешений:

  • eval и shell заблокированы. Произвольный PHP и произвольная оболочка сделали бы консоль равнозначной root-доступу прямо во вкладке браузера.
  • db import, db export, db drop, db query и db reset заблокированы. Импорт и сброс уничтожают базу данных без этапа подтверждения; db query это неограниченный SQL-запрос. Используйте вместо этого phpMyAdmin: Доступ к базе данных через phpMyAdmin.
  • config set и config delete заблокированы. Неудачная запись wp-config.php выводит сайт из строя. Читайте значения здесь, изменяйте их через файловый менеджер.
  • option update и option delete заблокированы. Редактирование параметров вслепую это распространённый способ сломать сайт без возможности восстановления.

Консоль не создаёт резервную копию за вас ни при каком действии. Это делают только кнопки в разделе Быстрые действия. Перед выполнением search-replace, core update, plugin update, theme update, db optimize или db repair сделайте резервную копию самостоятельно, на странице Резервные копии сайта. См. Создание резервной копии.

Работа в консоли

Этот экран умеет больше, чем просто принимать по одной команде за раз.

Кнопки с готовыми командами. Над строкой ввода расположены сгруппированные ярлыки: Производительность (сброс кеша, очистка временных данных, сброс правил переадресации, проверка автозагрузки), База данных (оптимизация, проверка, восстановление, размер), Диагностика (версия WP, проверка обновлений, проверка целостности ядра, события cron), Контент (список плагинов, тем, пользователей, запуск cron сейчас), Безопасность (пользователи-администраторы, контрольные суммы плагинов, сброс солей, wp-config) и Обслуживание (включение и выключение режима обслуживания, пересоздание миниатюр, статус). Одно нажатие запускает команду.

История. Нажимайте стрелки вверх и вниз в строке ввода, чтобы перемещаться по последним 50 командам на этом сайте.

Сниппеты. Нажмите на значок закладки рядом с командой, чтобы сохранить её с именем: длинный вызов, которым вы пользуетесь каждый месяц, в следующий раз запускается одним нажатием.

Карточка окружения. Над строкой ввода расположена карточка, показывающая версию PHP сайта, версию WordPress, лимит памяти, текущее использование памяти, максимальный размер загрузки и лимит времени выполнения, с кнопкой Копировать для поддержки, которая копирует всё это, а также список активных плагинов, в буфер обмена. Вставьте это в обращение в поддержку, и вы сэкономите лишний обмен сообщениями.

Копирование результата. У каждого блока результата есть кнопки копирования и очистки.

Вывод поступает по мере выполнения команды, поэтому длительная операция показывает прогресс, а не остаётся безмолвной.

Полезные команды

Диагностика

core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes

verify-checksums сравнивает файлы ядра и плагинов с официальными опубликованными копиями и сообщает обо всём изменённом. Это самая быстрая первая проверка, если вы подозреваете, что сайт был взломан.

option list --autoload=yes выводит список всех параметров, которые WordPress загружает при каждом запросе. Раздутая таблица автозагрузки это одна из самых распространённых причин медленной работы сайта без видимых причин.

Обслуживание

cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now

Пользователи

user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'

Всё, что вводится здесь, записывается в журнал активности вашей учётной записи, включая пароли. Смените пароль, установленный таким образом, сразу после входа. Подробности о восстановлении учётной записи см. в Сброс утерянного пароля администратора WordPress.

Поиск и замена

search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run

Всегда сначала выполняйте пробный прогон (dry run). Полное пошаговое описание, включая то, почему прямая SQL-замена повреждает базу данных WordPress, см. в Выполнение поиска и замены.

Консоль или Quick Actions?

Оба варианта используют один и тот же WP-CLI под капотом. Выбирайте, исходя из следующего:

ЗадачаБолее подходящий способ
Сброс кеша, обновление плагинов, пересоздание медиафайловБыстрые действия, одно нажатие, и резервная копия создаётся заранее
Поиск и замена с предпросмотром по таблицамБыстрые действия, карточка Search & Replace
Всё, что требует конкретного флагаКонсоль
Просмотр списков, проверка, диагностикаКонсоль
Запуск одного просроченного события cronКонсоль
Редактирование wp-config.php или импорт базы данныхНи то, ни другое. Используйте файловый менеджер или phpMyAdmin

Когда нужно больше, чем список разрешённых команд

Для неограниченного WP-CLI подключитесь по SSH и запускайте wp напрямую из директории вашего сайта. SSH использует только аутентификацию по ключу, поэтому сначала добавьте свой публичный ключ в разделе Параметры сайта, во вкладке SSH-ключи. Данные для подключения, включая точный хост, порт и имя пользователя, отображаются на том же экране. См. Добавление SSH-ключей и Подключение по SFTP.

Устранение неполадок

"'x y' is not in the allowed command list." Команда отсутствует в списке разрешённых. Проверьте таблицу выше на наличие ближайшего разрешённого аналога либо используйте SSH.

"No results returned. Check that WP-CLI is available." Команда выполнилась, но ничего не вывела. Обычно это корректное поведение для запроса, не нашедшего совпадений.

Команда превышает время ожидания. Команды консоли ограничены 60 секундами. Длительные операции, такие как пересоздание большой медиатеки, следует выполнять через Быстрые действия, где используется более длительный лимит, либо по SSH.

Ничего не выполняется, и кнопки неактивны. Роль вашей учётной записи KapsuleHost для этого сайта предоставляет доступ только для чтения. Попросите владельца учётной записи повысить её.

Это было полезно?

Вы ИИ? Читайте эту страницу в Markdown

Похожие статьи

Установка WordPressУстановка WordPress через KapsuleHost выполняется автоматически. Это руководство описывает два способа установки, управление учётными данными, доступ к панели…WordPress: с чего начатьЧто делает KapsuleHost для сайта на WordPress, что вы по-прежнему делаете сами, и какое руководство читать для каждой задачи.…Автоматические обновления WordPressАвтоматические обновления поддерживают ядро WordPress, плагины и темы в актуальном состоянии без необходимости следить за релизами, и делают это безопасно:…Платёжные шлюзы для магазина WooCommerceВкладка «Платежи» показывает платежные системы, доступные для вашего магазина на WooCommerce, отображает, какие из них установлены, а какие включены, и…

Всё ещё нужна помощь?

Спросите Kora, она знает ваш аккаунт, или свяжитесь с нашей командой.

Связаться с намиНаписать в поддержку