WordPressのバージョン(WordPress 6.2 以降?)によっては、WordPress のコマンドラインツール WP CLI を実行した際に「PHP が7.0.0以上でないと動かない」というエラーがでることがあります。
これは Xserver のコンソールでデフォルトで動く PHP が5系なのが原因です(最近利用し始めたサーバーならきっともともとのバージョンももっと高いはずなので、特に長く契約しているサーバーの場合だと思われます)。
Your server is running PHP version 5.4.16 but WordPress 6.4.1 requires at least 7.0.0.[******@sv****+ public_html]$
こちらをサクッと解決するために .bashrc
などにエイリアスを追記します。
$ cd ~/
$ vi .bashrc
おそらく何もしていない状態の .bashrc
だと # Source global definitions
あたりの記述しかないはずなので、この最終行に以下のようにエイリアスの記述を追加します。
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias wp="php8.1 /usr/bin/wp"
今回はwp
のコマンド上で php8.1 が動くようにしていますが、このあたりは利用したい PHP のバージョンを設定してください。
そのサーバーのサーバーパネル上で設定している PHP のバージョン(WordPress のサイトが動作している PHP のバージョン)に合わせておくのが無難でしょう。
.bashrc
ファイルの編集が終わったら、最期に source
コマンドで読み込めば WP-CLI が新たに設定した PHP のバージョンで動きます。
$ source ~/.bashrc
これで無事に WP-CLI がうごきますね。よかったよかった。
念のため wp —info
コマンドを入力して、動作している PHP のバージョンがちゃんと切り替わっているか確認しておくといいですね。
追記
PHP 自体を8.1で動かす設定をおしえていただきました。
ちなみに、WP-CLI を動かしている PHP のバージョンをあげると、今度は WP-CLI のバージョンが古くてエラーを吐くことがありますw
もしそうなっても心配いりません。wp cli update
コマンドで WP-CLI 自体のアップデートをすれば OK。
【それでもまだエラーが出るとき】
もしかして WP CLI といっしょに LINUX コマンドとか使ってますか…?
その場合、サーバーで動いている CLI 環境の PHP のバージョン(サーバーに SSH 接続した状態で php -v
を入力して表示される PHP のバージョン)が古いままの可能性があります。
Xサーバーでは、ウェブサーバーで動作している PHP のバージョン(WordPress などに使用される PHP のバージョン)と、CLI で使用される PHP のバージョンが異なることがあります。
(よく考えたら、ひとつのサーバー上でドメインごとに動作する PHP のバージョンを指定できるので、それとは切り離してサーバー全体で動作する PHP がある(そしてその PHP のバージョンはドメインに依存しない)のはあたりまえだったですかね…)
この場合、例えば PHP 8.2.22で動作するようにしたいのならば
echo 'export PATH=/opt/php-8.2.22/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
と入力して再度 php -v
してみましょう。例えば上記の例で言えば
PHP 8.2.22 (cli) (built: Aug 5 2024 10:25:13) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.22, Copyright (c) Zend Technologies
と返ってくればバッチリです!
これで問題なく動作するはずです。お疲れさまでした!