WP-CLIをエックスサーバーで使えるようにしてみました

WP-CLIとはWordPressを管理するためのCLIです。
プラグインのアップデートなど、様々なことがブラウザなしでも実行できるようになります。

エックスサーバーの場合、自分でインストールしなくともデフォルトでWP-CLIが(wpコマンドで)使用できるようです。
ただし、Verが古い(2023/08/08時点で、2.4.0)ですし、PHP 5.4系で動作するようになっています。

目次

事前準備

事前に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
よかったらシェアしてね!
目次