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 ~/bin
WP-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.phar
Alias設定
エックスサーバーの場合、デフォルトで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 ~/.bashrc
wpコマンドのみなら、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.1
WP-CLIのアップデート
[user@server ~]$ wp cli update