Sheensay → Серверная → WP-CLI — управление WordPress из консоли

WP-CLI — управление WordPress из консоли

27.08.2019

  • Что такое WP-CLI
  • Как установить WP-CLI
  • Linux (Debian, Ubuntu)
  • Windows
  • Как пользоваться WP-CLI
  • Примеры команд WP-CLI
  • WP CLI для WordPress Multisite

Что такое WP-CLI

WP-CLI — это утилита для командной строки Unix-систем: Linux (Ubuntu, Debian, CentOS, FreeBSD), OS X, — с помощью которой можно управлять сайтами на WordPress, расположенными на сервере. Она позволяет устанавливать и обновлять плагины и темы, само ядро WordPress, управлять комментариями, настраивать мультисайт WordPress MU, и многое другое из консоли без использования браузера.

Официальный сайт: http://wp-cli.org/

Все команды отправляем через консоль SSH, и они исполняются удалённым сервером. Для работы, нам понадобится Far Manager или PuTTY.

Как установить WP-CLI

Linux (Debian, Ubuntu)

Для начала, убедитесь, что WP-CLI ещё не установлен, используя команду:

wp --version

Если увидите в ответе wp: команда не найдена, значит пора приступать к установке.

Чтобы установить WP-CLI, нужно использовать команду:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

либо

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Если на данном этапе выскакивает ошибка curl: команда не найдена, значит, curl не установлен. Чтобы его установить, используйте следующую команду (если авторизованы не под root, добавляйте префикс sudo):

apt-get install curl

Затем перезагрузите Apache

service apache2 restart

или перезагрузите php-fpm

service php5-fpm restart

Затем, как только wp-cli.phar скачается, можно проверить, как он работает, командой:

php wp-cli.phar --info

Если Вы авторизованы под root, на данном этапе выскочит предупреждение о том, что использовать WP-CLI под root небезопасно:


If you REALLY mean to run this as root, we won't stop you, but just bear in mind that any code on this site will then have full control of your server, making it quite DANGEROUS.

If you'd like to continue as root, please run this again, adding this flag:  --allow-root

If you'd like to run it as the user that this site is under, you can run the following to become the respective user:

    sudo -u USER -i -- wp <command>

Это нормальная реакция, пока не обращайте на неё внимания, просто имейте в виду, что если для сайта есть свой UNIX-пользователь, то и команды WP-CLI должны выполняться из-под него.
А проверку проведите командой:

php wp-cli.phar --info --allow-root

В результате, Вы увидите что-то подобное:

PHP binary:     /usr/bin/php5
PHP version:    5.6.30-0+deb8u1
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:        phar://wp-cli.phar
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.1.0

Теперь, чтобы иметь возможность использовать wp как команду, сделайте следующее:

chmod +x wp-cli.phar

Эта команда прописывает chmod для того, чтобы иметь возможность исполнять wp-cli.phar

mv wp-cli.phar /usr/local/bin/wp

Команда перемещает wp-cli.phar в /usr/local/bin/ и переименовывает wp-cli.phar в wp.

Снова проверяем, теперь уже команду wp:

wp --info --allow-root

В результате должны увидеть подобное:

PHP binary:     /usr/bin/php5
PHP version:    5.6.30-0+deb8u1
php.ini used:   /etc/php5/cli/php.ini
WP-CLI root dir:        phar://wp-cli.phar
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 1.1.0

Установка WP-CLI завершена.

Windows

  1. Убедиться, что в Windows установлен PHP, и он доступен глобально, то есть срабатывает по команде php в командную строку;
  2. Скачать wp-cli.phar и положить в каталог C:\wp-cli;
  3. Создать файл wp.bat в том же каталоге C:\wp-cli. Внутри файла должен быть код:
    @ECHO OFF
    php "c:/wp-cli/wp-cli.phar" %*
    
  4. Добавить путь в переменную PATH с помощью командной строки:
    setx path "%path%;C:\wp-cli"

Установка завершена. Проверить можно командой:

wp --info

Как пользоваться WP-CLI

Для начала, желательно авторизоваться по SSH под нужным пользователем.
Затем, достаточно перейти в любую директорию (папку) сайта и запустить команду в консоли ssh:

wp --info

Эта команда выведет информацию об установленной версии PHP и другую служебную информацию, как в примере выше.

Либо, как было сказано в подсказке, Вы можете из-под root выполнить:

sudo -u USER -i -- wp --info

где USER — логин пользователя, под которым установлен WordPress, результат будет тот же.

Есть вариант работать и под root. Для этого, нужно использовать ключ --allow-root. Однако, помните: все файлы, которые будут скачаны, например, при установке системы или плагинов, будут иметь владельца root, что может вызвать конфликты. Вы можете воспользоваться chown, чтобы в конце всех работ установить нужного пользователя в роли владельца файлов WordPress.

Примеры команд WP-CLI

Самое полезное, что может пригодиться, это установка WordPress

wp core download --locale=ru_RU
wp config create
wp core install

Обновление ядра WordPress

wp core update

Установка плагина WP Super Cache

wp plugin install wp-super-cache

Обновление всех плагинов

wp plugin update --all

Создать бекап базы данных WordPress, добавив опцию Drop Table на таблицы (то есть, даже если таблицы на момент импорта из дампа будут существовать в базе данных, они будут сброшены и принудительно перезаписаны)

wp db export --add-drop-table

Импортировать базу из файла wordpress_database.sql

wp db import wordpress_database.sql

Удалить все таблицы из базы данных (будьте осторожны, сделайте предварительно бекап базы данных)

wp db reset --yes

Удалить базу данных (будьте осторожны, сделайте предварительно бекап базы данных)

wp db drop

Создать базу данных (например, после удаления). Создаст базу данных с привилегиями, указанными в wp-config.php

wp db create 

При переезде на новый домен (например, сайт с локального сервера переезжает на рабочий хостинг или просто меняет имя домена) пригодится:

wp search-replace 'http://old.domain' 'http://new.domain'

Также, пример при установке сертификата SSL и переезда с HTTP на HTTPS:

wp search-replace 'http://example.com' 'https://example.com'

Очистить транзитный кеш полностью

wp transient delete --all

Обновление самого WP CLI:

wp cli update --allow-root

Полный список команд WP-CLI

WP CLI для WordPress Multisite

Допустим, у нас есть мультисайтовая сборка WordPress MU на базе домена example.com. И нам нужно сбросить транзитный кеш для 1 сайта сети доменом sub.example.com. Это можно сделать следующей командой:

wp transient delete --all --url=sub.example.com --allow-root

Чтобы запустить команду для всех сайтов мультисайтовой сборки WordPress MU, можно воспользоваться следующим синтаксисом:

wp site list --field=url --allow-root | xargs -n1 -I % wp transient delete --all --url=% --allow-root



Так себеНеплохоНормальноХорошоОтлично (4 оценок, в среднем: 5,00 из 5)
Загрузка...


  • WordPress ошибка: требуется обновление базы данных
  • Как правильно перенести WordPress
  • Ошибка php Maximum execution time of 30 seconds exceeded
  • Как вернуть старый редактор после обновления WordPress 5.0 Gutenberg
  • ISPmanager

Серверная wordpress

wp-cli

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие записи

  • Squid — свой собственный HTTP Proxy сервер
  • Как исправить ошибку «Обновить WordPress — В настоящий момент выполняется другое обновление»
  • Query Monitor
  • LEMP
  • Telegram

Свежие комментарии

  • Sheens к записи Что такое SSL и TLS, как установить и настроить
  • Геомант к записи Что такое SSL и TLS, как установить и настроить
  • Sheens к записи Last-Modified в WordPress
  • Артур к записи Last-Modified в WordPress
  • Sheens к записи EWWW Image Optimizer — плагин для сжатия png, jpeg, gif анимации без потери качества
  • Telegram
  • Вконтакте
  • Facebook
  • Twitter
  • Google+
  • Одноклассники
  • Мой Мир Mail.ru
  • RSS

Copyright © 2025 · Sheensay on Genesis Framework · WordPress · Log in