WP-CLIとはWordPressを管理するためのCLIです。
プラグインのアップデートなど、様々なことがブラウザなしでも実行できるようになります。
エックスサーバーの場合、自分でインストールしなくともデフォルトでWP-CLIが(wpコマンドで)使用できるようです。
ただし、Verが古い(2023/08/08時点で、2.4.0)ですし、PHP 5.4系で動作するようになっています。
目次
事前準備
事前にSSHで接続できる状態にしましょう。
詳しくは、エックスサーバーのマニュアルページを参照してください。
					エックスサーバー
										
			
						SSH???? | ??륵???С??ʤ饨?å????????С?
						??륵???С??֥??å????????С??פΤ????ѥޥ˥奢??å??å????????С??Ǥ?SSH??³??ǽ?????Ƥ??ޤ??????ޥ˥奢??ǤϤ????ͤΥ????С?????????Ȥ?SSH????³???뤿??μ??ܤ??Ƥ??ޤ???					
				インストールディレトリの作成
WP-CLIをインストール(ダウンロード)するディレトリを作成します。
場所の指定は無いのですが、WEBアクセスができない領域に作成することをおすすめします。
[user@server ~]$ mkdir ~/binWP-CLIのダウンロード
[user@server ~]$ cd ~/bin/
[user@server ~]$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
[user@server ~]$ chmod +x wp-cli.pharAlias設定
エックスサーバーの場合、デフォルトでWP-CLIが(wpコマンドで)使用できるようです。
そのため、このままだとデフォルトのWP-CLIが使用され続けます。
ちなみに名称をwp2とかにしても、
[user@server ~]$ wp2 --version
PHP Parse error:  syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in phar:///home/*****/bin/wp2/vendor/wp-cli/wp-cli/php/bootstrap.php on line 18上記のようなエラーが発生して動作しません。
どうやら、WP-CLI 2.8.1はPHP 5.4系では動作しないようです。
WP-CLI 2.8.1は、PHP 5.6系以上で動作するようです。
[user@server ~]$ /usr/bin/php5.5 wp2 --version
PHP Parse error:  syntax error, unexpected '.', expecting '&' or variable (T_VARIABLE) in phar:///home/*****/bin/wp2/vendor/wp-cli/wp-cli/php/class-wp-cli.php on line 298
[user@server ~]$ /usr/bin/php5.6 wp2 --version
WP-CLI 2.8.1
[user@server ~]$ /usr/bin/php7.4 wp2 --version
WP-CLI 2.8.1
[user@server ~]$ /usr/bin/php8.2 wp2 --version
WP-CLI 2.8.1より新しいVerのPHPで、wpコマンドのみで動作させるにはPATHを通す方法と、Aliasの設定をする方法がありますが、今回はAliasの設定で対応しました。
[user@server ~]$ vi ~/.bashrc
# User specific aliases and functions
+ alias wp='/usr/bin/php8.2 ~/bin/wp-cli.phar'
[user@server ~]$ source ~/.bashrcwpコマンドのみなら、Alias設定の方が簡単だと思います。
PHP CLI全体で作用させるのであれば、PATHを通しましょう。
動作確認
[user@server ~]$ wp --info
OS:     Linux 5.4.0-147-generic #164~18.04.1-Ubuntu SMP Tue Apr 4 00:20:20 UTC 2023 x86_64
Shell:  /bin/bash
PHP binary:     /opt/php-8.2.5/bin/php
PHP version:    8.2.5
php.ini used:   /opt/php-8.2.5/etc/php.ini
MySQL binary:   /usr/bin/mysql
MySQL version:  mysql  Ver 15.1 Distrib 10.5.13-MariaDB, for Linux (x86_64) using readline 5.1
SQL modes:
WP-CLI root dir:        phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir:      phar://wp-cli.phar/vendor
WP_CLI phar path:       /home/*****/bin
WP-CLI packages dir:
WP-CLI cache dir:       /home/*****/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.8.1WP-CLIのアップデート
[user@server ~]$ wp cli update