ColorfulBox / mixhost の CLI の PHP バージョンを変更する

Craft CMS をレンタルサーバーで運用する場合、ColorfulBox または mixhost を選択しています。
「LiteSpeed のレスポンスが早い」などの機能と料金のバランスが良く、「CDN を利用する程では...」という規模感であれば、なおのこと使い勝手の良いサーバーだと個人的に思っています。

これら2つのサービスでは、ドメインごとに利用する PHP バージョンを cPanel 上で指定できます。
その際、CLI の PHP バージョンと異なると ./craft update などのコンソールコマンドがエラーになる場合があります。

そこで今回は CLI の PHP バージョンの調整方法について、備忘録を兼ねてまとめておきます。
これは Craft CMS Advent Calendar 2023 1日目の記事です。

CLI の PHP バージョンを確認

はじめに、SSH 接続後 PHP のバージョンを確認します。

php -v

SSH 接続直後の CLI の PHP バージョン

この例では、PHP 7.4.33 でした。

cPanel で MultiPHP マネージャーにアクセスして確認できる「システムの PHP バージョン」、これが CLI のバージョンに相当するようです。

cPanel で MultiPHP マネージャーのデフォルトを確認

Craft 4 ではシステム要件PHP 8.0.2+ のため、管理画面上でしかシステム本体やプラグインのアップデート、データベースのバックアップなどが実行できないことになります。

このままだと諸々支障がでるため、早速調整してみましょう。

実行中のシェルのみ、PHP バージョンを変更

利用したいバージョンの PHP のパスを追加します。

export PATH="/opt/cpanel/ea-php81/root/usr/bin:$PATH"; php -v

調整後の CLI の PHP バージョン

期待通り PHP 8.1 に切り替わったことを確認できましたので、目的の Craft 4 コンソールコマンドを実行しましょう。

なお、以前は .bash_profile.bashrc を調整すれば対応できていたものの、いつの頃からか SSH 接続ごとにシステムデフォルトのバージョンへ戻るようになったため、実行中のシェルのみバージョンを変更するのが無難だろうと考えています。

利用可能な PHP バージョンを確認するには?

前述のコマンドでパスを指定するにあたり、利用可能なバージョンを事前に確認しておきましょう。

ls /opt/cpanel/

/opt/cpanel/ 配下の PHP 一覧

ea-phpNN のうち、目的のバージョンを指定します。