安裝 WP-CLI 的完整指南

已發表: 2022-03-16
安裝 WP-CLI

WordPress 命令行界面 (WP-CLI) 是一個功能強大的 WordPress 開發人員專用工具。 在 Delicious Brains,我們使用它來幫助我們編寫測試、管理對站點數據庫的更改,我們甚至在 WP Migrate DB Pro 中支持 WP-CLI。 最後但同樣重要的是,我們基於雲的 WordPress 服務器控制面板 SpinupWP 大量使用 WP-CLI 來管理 WordPress 站點,因此它對我們來說是一個非常重要的工具。

我們非常喜歡它,我們認為每個 WordPress 開發人員都知道如何安裝和使用它很重要。 這篇文章將介紹安裝 WP-CLI 並設置它以使用這個神奇的工具有效地工作。

目錄

  1. 什麼是 WP-CLI?
  2. 如何在 macOS 和 Linux 上安裝 WP-CLI
    1. 官方方法
    2. 使用包管理器安裝 WP-CLI
    3. 使用 APT 安裝 WP-CLI
    4. 使用 Homebrew 安裝 WP-CLI
    5. 使用 Composer 安裝 WP-CLI
    6. 使用 Docker 安裝 WP-CLI
    7. 驗證 WP-CLI 是否有效
  3. 如何在 Windows 上安裝 WP-CLI
    1. 驗證 WP-CLI 是否在 Windows 上工作
  4. 安裝 WP-CLI 後
    1. 設置選項卡完成
    2. 創建 WP-CLI 配置文件
    3. 更新 WP-CLI
  5. 包起來

什麼是 WP-CLI?

WP-CLI 是 WordPress 的命令行界面。 它允許您執行許多與 WordPress 站點上的管理面板相同的任務,但可以通過計算機或 Web 服務器上的命令行終端執行。 這使得它在開發期間和站點部署後都非常有用。 您可以使用 WP-CLI 安裝 WordPress、配置多站點安裝、更新插件和主題、更新 WordPress 本身等等。

一旦您對 WP-CLI 感到滿意,您會發現這通常比通過 Web 瀏覽器做同樣的事情要快(而且它讓您在做這件事時看起來真的很酷)。

像 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 站點上。 在 Mac 或 Linux 機器上安裝 WP-CLI 需要 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 的選項會有所不同,具體取決於您使用的包管理器以及是否有志願者介入並為其創建了包。

使用 APT 安裝 WP-CLI

Tiago Hillebrandt 維護一個 PPA,用於在 Debian/Ubuntu 及其所有變體上安裝 WP-CLI。 你可以像這樣使用他的 PPA:

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

使用 Homebrew 安裝 WP-CLI

Homebrew 有一個用於 WP-CLI 的公式,因此只需運行以下命令:

 $ brew install wp-cli

使用 Composer 安裝 WP-CLI

您還可以使用 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 後,您可以從計算機上的任何文件夾訪問它。

通過 Docker 安裝 WP-CLI

Docker 社區維護 WordPress 和 WP-CLI 圖像。 您可以通過在docker compose創建的yml文件中將 CLI 變體指定為 WordPress 映像,在 Docker 項目中使用 WP-CLI 映像。

 image: wordpress:cli

驗證 WP-CLI 是否有效

無論您使用哪種安裝方法,最好驗證安裝是否成功並且無論您碰巧在哪個目錄中都可以訪問 WP-CLI。要驗證事情是否正常工作,您可以傳遞--info範圍:

 $ wp --info

如果安裝正確,您應該會看到如下內容:

操作系統:達爾文 20.6.0 達爾文內核版本 20.6.0:2021 年 11 月 10 日星期三 22:23:07 PST; 根: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 for x86_64 (Homebrew) 上的 macos11.6
SQL模式:
WP-CLI 根目錄:phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI 供應商目錄:phar://wp-cli.phar/vendor
WP_CLI phar 路徑:/usr/local/bin
WP-CLI 軟件包目錄:
WP-CLI 全局配置:
WP-CLI 項目配置:
WP-CLI 版本:2.6.0

如何在 Windows 上安裝 WP-CLI

在本機 Windows 上安裝 WP-CLI 與在 Mac 或 Linux 機器上安裝略有不同。 在我們開始之前,使用微軟幾年前推出的適用於 Linux 的 Windows 子系統,您應該能夠使用上面的 MacOS 和 Linux 說明進行安裝。 如果您希望它在本機 Windows 下工作,以下步驟適合您。

請注意,WP-CLI 首先是為基於 *nix 的系統而設計的。 某些功能,例如通過 SSH 訪問遠程 WordPress 站點,可能需要您跳過很多環節。 其他功能可能根本不起作用。 但是可以在 Windows 機器上安裝和運行 WP-CLI 的基本安裝。

請注意,您的 Windows 用戶帳戶必須具有管理員權限才能執行這些步驟。 如果您沒有管理員權限,則需要請有權限的人授予您管理員權限或幫助您完成這些步驟。

視窗要求

要開始在 Windows 上安裝 WordPress 命令行,唯一真正的要求是您安裝了適用於 Windows 的命令行 PHP 並將其添加到您的 PATH 中,以便您可以從任何工作目錄中的命令行運行 PHP。 安裝 WP-CLI 的最簡單方法是使用 cURL。 大多數 Windows 安裝已經安裝了 cURL,因為它自 2018 年以來就包含在 Windows 10 中。

如果您的計算機上還沒有它,我強烈建議您使用這些建議的方法之一安裝它,或者在繼續之前從 cURL 主頁下載它。

下載並安裝

首先,您需要從 GitHub 下載最新版本的 wp-cli.phar 到本地文件夾中。 如果您安裝了 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 並且無法安裝它,您也可以在 Windows 文件資源管理器中手動創建C:\wp-cli文件夾,使用上面的鏈接下載文件,然後將其移動到該文件夾。

下載文件後,最好通過鍵入以下內容來確認它是否有效:

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

您應該看到幾行總結了您的本地 WP-CLI 環境。

每次運行 WP-CLI 命令時鍵入 phar 文件的完整路徑會很快變老。 因此,為了讓生活更輕鬆,我們將再執行兩個步驟。 首先,我們將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 安排夜間作業的服務器,最好將其添加到所有用戶的環境中。 使用帶有/m開關的setx需要您打開具有完全管理權限的 CMD 終端。 最簡單的方法是在開始菜單上搜索cmd.exe ,右鍵單擊它,然後選擇以管理員身份運行以打開它:

以管理員身份啟動 cmd.exe

最後,我們在 WP-CLI 文件夾中創建一個名為wp.bat的 windows 批處理文件,內容如下:

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

這個.bat文件將使您能夠使用較短的wp調用運行 WP-CLI,而不是總是輸入 phar 文件的全名。 它為您節省了大量的打字,這也是在 Mac 和 Linux 上調用 WP-CLI 的方式。

驗證 WP-CLI 是否在 Windows 上工作

完成上述所有操作後,我們現在應該能夠從任何文件夾運行 WP-CLI:

 C:\> wp --info

如果安裝正確,您應該會看到如下內容:

操作系統:Windows NT 10.0 build 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 phar 路徑:C:\wp-cli
WP-CLI 軟件包目錄:
WP-CLI 全局配置:
WP-CLI 項目配置:
WP-CLI 版本:2.6.0

安裝 WP-CLI 後

一旦你啟動並運行了 WP-CLI 並確認它可以工作,就該進行一些初始設置了。 WP-CLI 的核心概念之一是可以有子commandssubcommands 。 這些命令和子命令中的每一個都可以有一堆可選的開關。 有時您最終可能會鍵入很長的命令字符串。 就在前幾天,我需要在 WordPress 選項中插入一個數組元素,命令最終如下所示:

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

一旦你熟悉了 WP-CLI,你無疑會背誦很多這些命令。 但是,如果這看起來比你平時喜歡做的打字要多,那麼讓我向你展示一些你可以做的事情,以使其不那麼令人生畏,並且更有可能在第一次嘗試時正確。

設置選項卡完成

我們要做的第一件事是啟用 Tab 補全,這是 shell 中的機制,當您按下TAB鍵時,它會自動建議您接下來應該鍵入的內容。 在我的環境中,我只需鍵入上面該命令的開頭即可查看有哪些子命令:

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

設置製表符補全太容易了,它有助於了解您正在使用哪個命令行 shell。 如果您不確定,讓我通過檢查 $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,則只需幾個步驟即可下載腳本並將其添加到您的環境中。 首先,切換到您的主文件夾並下載 WP-CLI 2.6.0 版的腳本:

 $ 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 系統上,不需要從~/.bash_profile中獲取wp-completion.bash ,而是需要從~/.bashrc中獲取。 確保wp-completion.bash文件位於您的主目錄中,然後從主目錄運行以下命令:

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

雖然 Windows 在某種程度上也存在選項卡補全功能,但據我所知,它不可能像 Mac 或 Linux 上那樣與第三方工具(如 WP-CLI)集成。 如果您知道在 Windows 上添加 WP-CLI 選項卡完成的方法,請在下面的評論中聯繫。

創建 WP-CLI 配置文件

一旦我安裝了工作的 WP-CLI,我總是做的下一件事是將配置文件添加到我的$HOME文件夾中。 配置文件是一個相當高級的主題,具有許多有趣的功能,可能需要一篇完全獨立的文章。 準備好基本配置文件是減少重複輸入的好方法。

如果沒有配置文件,WP-CLI 將假定您的工作目錄與實際 WordPress 站點的wp-config.php文件相同。 很多時候你不會在那個目錄中。 例如,每次打開終端時,您通常都會在$HOME文件夾中。 幸運的是,您可以向 WP-CLI 提供--path參數以使其在正確的文件夾中查找:

 $ 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. $HOME文件夾中名為wp-cli.yml的文件

請注意,“或向上”意味著,假設您在 WordPress 安裝的根目錄中保留了一個配置文件,WP-CLI 仍然能夠找到您是否已將自己放入子目錄,例如wp-content/uploads/year/month 。 還值得知道的是,如果要將配置文件放在主文件夾以外的位置,則始終可以使用WP_CLI_CONFIG_PATH環境變量指定位置。

您通過 typed 命令提供的任何參數都將覆蓋從配置文件中獲取的值,這使得在需要時可以輕鬆地覆蓋配置文件中的值。

本節只是簡單介紹了 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 有任何疑問,請隨時在下面的評論中告訴我。