Полное руководство по установке WP-CLI

Опубликовано: 2022-03-16
Установите WP-CLI.

Интерфейс командной строки WordPress (WP-CLI) — это мощный инструмент, ориентированный на разработчиков WordPress. Здесь, в Delicious Brains, мы используем его, чтобы писать тесты, управлять изменениями в базах данных нашего сайта, и у нас даже есть поддержка WP-CLI в WP Migrate DB Pro. И последнее, но не менее важное: SpinupWP, наша облачная панель управления сервером для WordPress, активно использует WP-CLI для управления сайтами WordPress, поэтому это невероятно важный инструмент для нас.

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

Оглавление

  1. Что такое WP-CLI?
  2. Как установить WP-CLI на macOS и Linux
    1. Официальный метод
    2. Установка WP-CLI с помощью диспетчера пакетов
    3. Установка WP-CLI с помощью APT
    4. Установка WP-CLI с помощью Homebrew
    5. Установка WP-CLI с помощью Composer
    6. Установка WP-CLI с помощью Docker
    7. Проверка работы WP-CLI
  3. Как установить WP-CLI в Windows
    1. Проверка работы WP-CLI в Windows
  4. После установки WP-CLI
    1. Настройка завершения вкладок
    2. Создание файла конфигурации WP-CLI
    3. Обновление WP-CLI
  5. Подведение итогов

Что такое WP-CLI?

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

Как только вы освоитесь с WP-CLI, вы обнаружите, что это часто быстрее, чем делать то же самое через веб-браузер (и это заставляет вас выглядеть действительно круто при этом).

Инструменты командной строки, такие как WP-CLI, также отлично подходят для повторяющихся задач, таких как массовое добавление пользователей или регулярная проверка обновлений. Это связано с тем, что WP-CLI легко сочетается с другими инструментами и утилитами командной строки, такими как сценарии Bash и задания cron.

Люди используют WP-CLI для самых разных задач, связанных с WordPress. Например…

Установка и активация плагина:

 $ wp plugin --activate advanced-custom-fields

Добавление пользователя:

 $ wp user create erik [email protected] --role=subscriber

Обновление ядра WordPress и базы данных:

 $ wp core update && wp core update-db

Делаем снимок базы данных:

 $ wp db export /mnt/backups/$(date +%Y%m%d).sql

Добавление одного пользователя, запуск разовых резервных копий или выполнение проверок обновлений с помощью командной строки может быть не таким большим преимуществом, как использование страниц администрирования. Однако, если вам нужно добавить 500 пользователей или вы хотите получать обновления и резервные копии каждое утро в 3 часа ночи, наличие инструмента командной строки становится очень удобным.

Мы подробно расскажем о том, как получить максимальную отдачу от WP-CLI в будущем руководстве, включая подсказки, подсказки и приемы, которые команда Delicious Brains собирала на протяжении многих лет. Но обо всем по порядку, давайте правильно установим WP-CLI.

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

Эти инструкции предназначены для пользователей Mac и Linux. Нажмите здесь, чтобы перейти к инструкциям по установке в Windows.

Официальный метод

Рекомендуемый способ установки WP-CLI описан на сайте WP-CLI. Для установки WP-CLI на Mac или Linux требуется PHP версии 5.6 или более поздней версии, а также у вас должен быть установлен инструмент командной строки cURL. Откройте терминал и выполните следующие команды.

Первый шаг — загрузить сборку Phar:

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

Далее необходимо проверить загруженный файл:

 $ php wp-cli.phar --info

Наконец, сделайте его исполняемым и переместите в PATH:

 $ chmod +x wp-cli.phar $ sudo mv wp-cli.phar /usr/local/bin/wp

Установка WP-CLI с помощью диспетчера пакетов

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

Установка WP-CLI с помощью APT

Тиаго Хиллебрандт поддерживает PPA для установки WP-CLI на Debian/Ubuntu и всех его вариациях. Вы можете использовать его PPA следующим образом:

 $ sudo add-apt-repository ppa:tiagohillebrandt/wp-cli $ sudo apt-get update $ sudo apt-get install wp-cli

Установка WP-CLI с помощью Homebrew

У Homebrew есть формула для WP-CLI, поэтому нужно выполнить следующую команду:

 $ brew install wp-cli

Установка WP-CLI с помощью Composer

Вы также можете использовать Composer для установки WP-CLI. Хотя чаще всего Composer используется для поддержки зависимостей внутри вашего PHP-проекта, его также можно использовать для установки инструментов на вашем компьютере. Можно установить WP-CLI только для вашего текущего проекта, если вам абсолютно необходима определенная версия WP-CLI. Довольно редко проекту требуется что-либо кроме последней версии, поэтому я рекомендую установить ее глобально. Приятно, что WP-CLI легко доступен везде, и в моих проектах на одну зависимость от разработчиков меньше. Вот как установить его глобально:

 $ composer global require wp-cli/wp-cli

Этот метод установки требует, чтобы вы добавили ~/.composer/vendor/bin в переменную PATH. Это работает по-разному в зависимости от того, используете ли вы MacOS, Linux или Windows. Вот несколько полезных ссылок по использованию Bash или Zsh.

После того, как вы установили WP-CLI глобально, вы можете получить к нему доступ из любой папки на вашем компьютере.

Установка WP-CLI через Docker

Сообщество Docker поддерживает образы WordPress и WP-CLI. Вы можете использовать образ WP-CLI в своих проектах Docker, указав вариант CLI в качестве образа WordPress в файле yml , созданном с помощью docker compose .

 image: wordpress:cli

Проверка работы WP-CLI

Независимо от того, какой метод установки вы используете, рекомендуется убедиться, что установка прошла успешно и WP-CLI доступен независимо от того, в каком каталоге вы находитесь. Чтобы убедиться, что все работает должным образом, вы можете передать --info параметр:

 $ wp --info

Если он установлен правильно, вы должны увидеть что-то вроде этого:

ОС: Darwin 20.6.0 Darwin Kernel версии 20.6.0: среда, 10 ноября, 22:23:07 PST 2021; корень:xnu-7195.141.14~1/RELEASE_X86_64 x86_64
Оболочка: /bin/zsh
Двоичный файл PHP: /usr/local/Cellar/[email protected]/7.4.27/bin/php
Версия PHP: 7.4.27
Используемый php.ini: /usr/local/etc/php/7.4/php.ini
Бинарный файл MySQL: /usr/local/bin/mysql
Версия MySQL: mysql Ver 8.0.28 для macos11.6 на x86_64 (Homebrew)
Режимы SQL:
Корневой каталог WP-CLI: phar://wp-cli.phar/vendor/wp-cli/wp-cli
Каталог поставщика WP-CLI: phar://wp-cli.phar/vendor
Путь phar WP_CLI: /usr/local/bin
Каталог пакетов WP-CLI:
Глобальная конфигурация WP-CLI:
Конфигурация проекта WP-CLI:
Версия WP-CLI: 2.6.0

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

Установка WP-CLI в Windows немного отличается от установки на Mac или Linux. Прежде чем мы начнем, используя подсистему Windows для Linux, которую Microsoft представила несколько лет назад, вы сможете установить ее, следуя приведенным выше инструкциям для MacOS и Linux. Если вы хотите, чтобы он работал под родной Windows, следующие шаги для вас.

Имейте в виду, что WP-CLI в первую очередь предназначен для систем на базе *nix. Некоторые функции, такие как доступ к удаленным сайтам WordPress через SSH, могут потребовать от вас прыжков через несколько обручей. Другие функции могут вообще не работать. Но установить и запустить базовую установку WP-CLI на компьютере с Windows возможно.

Обратите внимание, что для выполнения этих действий ваша учетная запись пользователя Windows должна иметь права администратора. Если у вас нет прав администратора, вам нужно попросить кого-то, у кого они есть, либо предоставить вам права администратора, либо помочь вам с этими шагами.

Требования Windows

Чтобы начать установку командной строки WordPress в Windows, единственное реальное требование состоит в том, чтобы у вас была установлена ​​командная строка PHP для Windows и добавлена ​​в ваш PATH, чтобы вы могли запускать PHP из командной строки в любом рабочем каталоге. Самый простой способ установить WP-CLI — использовать cURL. В большинстве установок Windows уже установлен cURL, так как он включен в Windows 10 с 2018 года.

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

Загрузить и установить

Сначала вам нужно загрузить последнюю сборку wp-cli.phar с GitHub в локальную папку. Если у вас установлен cURL, вы можете сделать это с помощью трех команд:

 C:\> mkdir C:\wp-cli C:\> cd C:\wp-cli C:\> curl -O https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Если у вас нет cURL и вы не можете его установить, вы также можете вручную создать папку C:\wp-cli в проводнике Windows, загрузить файл по приведенной выше ссылке, а затем переместить его в эту папку.

После загрузки файла рекомендуется убедиться, что он работает, набрав:

 C:> php C:\wp-cli\wp-cli.phar --info

Вы должны увидеть пару строк, описывающих вашу локальную среду WP-CLI.

Ввод полного пути к файлу phar каждый раз, когда вы запускаете команду WP-CLI, очень быстро устаревает. Итак, чтобы немного облегчить жизнь, мы собираемся сделать еще два шага. Сначала мы постоянно добавляем папку C:\wp-cli в переменную окружения PATH. Я предпочитаю делать это с помощью команды setx . Вы можете выбрать между добавлением его только в вашу среду или добавлением его для всех пользователей с помощью переключателя /m .

Для всех будущих сеансов с вашей учетной записью:

 setx PATH "%PATH%;c:\wp-cli"

Только для текущего сеанса терминала:

 set PATH "%PATH%;c:\wp-cli"

Или для всех будущих сеансов, для всех пользователей в системе:

 setx PATH "%PATH%;c:\wp-cli" /m

Простое добавление пути к вашей собственной среде — это нормально, если это ваша локальная машина для разработки. Если это сервер, на котором вы потенциально будете планировать ночные задания с помощью WP-CLI, лучше добавить его в среду для всех пользователей. Использование setx с параметром /m требует, чтобы вы открыли CMD-терминал с полными правами администратора. Самый простой способ сделать это — найти cmd.exe в меню «Пуск», щелкнуть его правой кнопкой мыши и выбрать « Запуск от имени администратора» , чтобы открыть его:

Запустите cmd.exe от имени администратора.

Наконец, мы создаем пакетный файл Windows в папке WP-CLI с именем wp.bat со следующим содержимым:

 @ECHO OFF php "c:\wp-cli\wp-cli.phar" %*

Этот файл .bat позволит вам вызывать run WP-CLI, используя более короткий wp вместо того, чтобы всегда вводить полное имя файла phar. Это избавляет вас от набора текста, а также так WP-CLI вызывается на Mac и Linux.

Проверка работы WP-CLI в Windows

Со всем вышеперечисленным теперь мы сможем запускать WP-CLI из любой папки:

 C:\> wp --info

Если он установлен правильно, вы должны увидеть что-то вроде этого:

ОС: Windows NT 10.0 сборка 19043 (Windows 10) AMD64
Оболочка: C:\WINDOWS\system32\cmd.exe
Двоичный файл PHP: C:\php\php.exe
Версия PHP: 7.4.27
Используемый php.ini:   
Бинарный файл MySQL: 
Версия MySQL:
Режимы SQL:
Корневой каталог WP-CLI: phar://wp-cli.phar/vendor/wp-cli/wp-cli
Каталог поставщика WP-CLI: phar://wp-cli.phar/vendor
Путь к WP_CLI: C:\wp-cli
Каталог пакетов WP-CLI:
Глобальная конфигурация WP-CLI:
Конфигурация проекта WP-CLI:
Версия WP-CLI: 2.6.0

После установки WP-CLI

После того, как вы запустили и запустили WP-CLI и убедились, что он работает, пришло время для первоначальной настройки. Одной из основных концепций WP-CLI являются commands , которые могут иметь subcommands . Каждая из этих команд и подкоманд может иметь набор дополнительных переключателей. Иногда вы можете вводить довольно длинные командные строки. Буквально на днях мне нужно было вставить элемент массива в параметр WordPress, и команда закончилась так:

 $ wp --path=www/testing option patch insert tantan_wordpress_s3 post_meta_version 7

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

Настройка завершения вкладок

Первое, что мы собираемся сделать, это включить автодополнение с помощью табуляции, которое является механизмом в оболочке, который автоматически предлагает, что вы должны ввести дальше, когда вы нажимаете клавишу TAB . В моей среде я просто набираю начало этой команды выше, чтобы увидеть, какие подкоманды есть:

 $ wp option [TAB] add delete get list patch pluck update

Настроить завершение табуляции слишком просто, чтобы не делать этого, но полезно знать, какую оболочку командной строки вы используете. Если вы не уверены, позвольте мне быстро показать вам, как это сделать, проверив переменную окружения $SHELL:

 # On older MacOS and on most Linux boxes, we should see /bin/bash $ echo $SHELL /bin/bash # On newer MacOS boxes, we should see /bin/zsh $ echo $SHELL /bin/zsh # Check for Oh My Zsh $ omz Usage: omz <command> [options] Available commands: help Print this help message changelog Print the changelog plugin <command> Manage plugins pr <command> Manage Oh My Zsh Pull Requests reload Reload the current zsh session theme <command> Manage themes update Update Oh My Zsh version Show the version

Если вы используете Oh My Zsh, это самый простой способ. Просто введите следующую команду:

 $ omz plugin enable wp-cli omz::plugin::enable: plugins enabled: wp-cli.

Если вы используете обычный Bash или Zsh, вам потребуется выполнить еще несколько шагов, чтобы загрузить сценарий и добавить его в свою среду. Сначала перейдите в свою домашнюю папку и загрузите скрипт для версии 2.6.0 WP-CLI:

 $ cd ~/ $ curl -O https://raw.githubusercontent.com/wp-cli/wp-cli/v2.6.0/utils/wp-completion.bash

Затем добавьте его в свой профиль и перезагрузите. Пользователи Bash могут использовать следующие команды:

 $ echo "source ~/wp-completion.bash" >> ~/.bash_profile $ source ~/.bash_profile

Однако пользователи Zsh должны использовать это:

 $ echo "source ~/wp-completion.bash" >> ~/.zshenv $ source ~/.zshenv

В системе Linux вместо поиска wp-completion.bash из вашего ~/.bash_profile вам нужно сделать это из вашего ~/.bashrc . Убедитесь, что файл wp-completion.bash находится в вашем домашнем каталоге, затем выполните следующие команды из домашнего каталога:

 cat wp-completion.bash >> .bashrc source .bashrc

Хотя автодополнение табуляции в какой-то степени существует и для Windows, насколько мне известно, его невозможно интегрировать со сторонними инструментами, такими как WP-CLI, как на Mac или Linux. Если вы знаете, как добавить завершение вкладок WP-CLI в Windows, напишите об этом в комментариях ниже.

Создание файла конфигурации WP-CLI

Следующее, что я всегда делаю, как только у меня есть работающая установка WP-CLI, — это добавление файла конфигурации в мою папку $HOME . Файлы конфигурации — довольно сложная тема с множеством интересных функций, которые могут потребовать отдельной статьи. Наличие базового файла конфигурации — отличный способ уменьшить количество повторяющихся действий.

Без файла конфигурации WP-CLI будет считать, что ваш рабочий каталог совпадает с файлом wp-config.php фактического сайта WordPress. Много раз вы не будете в этом каталоге. Например, каждый раз, когда вы открываете терминал, вы обычно оказываетесь в папке $HOME . К счастью, вы можете указать параметр --path для WP-CLI, чтобы он выглядел в правильной папке:

 $ wp --path=/Users/eriktorsner/src/path/to/wordpress plugin list

Как вы можете себе представить, быстро становится довольно утомительно продолжать вводить эту начальную переменную пути каждый раз. Чтобы уменьшить количество ввода, вы можете добавить файл конфигурации, который WP-CLI будет использовать для получения path и других важных параметров.

Чтобы создать этот файл, откройте свой любимый текстовый редактор и создайте файл с именем wp-cli.yml в своем домашнем каталоге. Добавьте следующую строку:

 path: /Users/eriktorsner/src/path/to/wordpress

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

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

  1. Файл с именем wp-cli.local.yml в текущем рабочем каталоге или выше
  2. Файл с именем wp-cli.yml в текущем рабочем каталоге или выше
  3. Файл с именем wp-cli.yml в вашей папке $HOME

Обратите внимание, что «или вверх» означает, что, если вы храните файл конфигурации в корне вашей установки WordPress, WP-CLI все равно сможет определить, работали ли вы самостоятельно в подкаталоге, таком как wp-content/uploads/year/month . Также стоит знать, что если вы хотите поместить файл конфигурации не в свою домашнюю папку, вы всегда можете указать местоположение, используя переменную среды WP_CLI_CONFIG_PATH .

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

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

Обновление WP-CLI

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

 $ sudo wp cli update

В вашей локальной среде разработки вы можете попробовать новейшие и лучшие функции WP-CLI и использовать ночную сборку (но, пожалуйста, избегайте этого на рабочих серверах):

 $ sudo wp cli update --nightly

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

Подведение итогов

Если вы следовали этому сообщению, теперь у вас должна быть работающая установка WP-CLI, настроенная с завершением табуляции и базовым файлом конфигурации. Мы начнем рассматривать фактическую работу с этим инструментом, углубившись в управление плагинами в следующем посте.

А пока вы можете прочитать нашу статью о пакетах WP-CLI, без которых мы не можем жить, или нашу серию статей об автоматизации локальной настройки сайта WordPress с помощью скриптов.

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