【EC-CUBE/XServer】PHPのバージョン切り替え方法(コマンドライン)

XServer(新サーバーパネル)でPHPのバージョンを変更するには、

  1. サーバーパネルのメニューから「PHP」を開く
  2. 「PHP Ver.切替」をクリック
  3. バージョンを変更したいドメインの「編集」をクリック
  4. 変更したいバージョンをプルダウンから選び、「設定する」をクリック

という手順で超簡単にできます。(変更手順詳細は公式サイト こちら にて)

しかし注意が必要なのは、この手順で変更されるのはWebサーバーのPHPバージョン(ブラウザで動作するPHPスクリプト)であり、SSHで使用するCLI(コマンドラインインターフェース)のPHPバージョンは別々に設定されているという点です。このため、CLIでコマンドを実行すると以下のようなエラーが発生する場合があります。

コマンド実行時のエラーメッセージの例

composer detected issues in your platform:

Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.33.

PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.33. in /home/~~~~~~~~~~~~~~

このエラーは、CLIで使用しているPHPのバージョンが依存関係の要件(PHP 8.1以上)を満たしていないために発生しており、サーバーパネルでPHPバージョンを変更しても反映されません。(同じエラーが表示されてしまいます。)

これは前述の通り、サーバーパネル上でのバージョン変更はWebサーバー(ブラウザで動作するPHPスクリプト)のみが対象で、CLIのPHPバージョンには反映されないためです。

従って、エラーを回避してコマンドを実行するには、CLIで適切なPHPバージョンを指定して実行する必要があります。

なお、現在使用しているPHPのバージョンは以下のコマンドで確認できます。

php -v

適切なPHPバージョンを指定してコマンドを実行する方法

find /usr -name php* | grep binというコマンドを実行すると、指定できるPHPのバージョン一覧が表示されます。
一覧から依存関係が求めるバージョン(上記エラーメッセージの場合: PHP 8.1以上)を選び、フルパスを指定してコマンドを実行してください。

例)PHPのバージョン(php8.3)を指定して、EC-CUBEのキャッシュをクリアするコマンドを実行した場合

/usr/bin/php8.3 bin/console cache:clear --no-warmup

これでエラーを回避して実行できるはずです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!