EC-CUBE4はphp7.1以上が必須要件になっており、bin/consoleスクリプトを使う場合はコマンドラインでもPHP7が必要です。
エックスサーバーのようにSSHが接続できるレンタルサーバーでも最初はPHPのバージョンが5.4となっています。ですので、下記の手順に従って、実行できるPHP-CLIのバージョンを変更してしまいます。
まずSSH接続を行います。コントロールパネルからSSH接続を有効に設定してください。
接続方法は今回の趣旨とは外れますので省略します。
SSH接続を行い、何もしない状態でphp -vをしてみるとバージョン5.4が表示されるはずです。(サーバー番号によっては違うかもしれません)
PHP 5.4.45 (cli) (built: Nov 25 2015 20:59:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
コマンドで利用可能なPHP-CLIのバージョンを確認してリンク
find /opt/php-*/bin -type f -name 'php'
確認できたら変更したいバージョンにシンボリックリンクを貼ります。
下記の場合はPHP7.2.14にリンクを貼っています。
ln -i -s /opt/php-7.2.14/bin/php $HOME/bin/php
(iオプションは上書きの場合つける)
$HOME/binにパスを通す
vi .bash_profile
PATH=$PATH:$HOME/binをPATH=$HOME/bin:$PATHに書き換えます。
vimを終了してsourceで.bash_profileを再読み込みします。
source $HOME/.bash_profile
これでコマンドラインから使えるPHPのバージョンが7.2となりました。
EC-CUBE4のbin/consoleが動作するようになります。
PHP5.4のままだと下記のエラーが発生します。
PHP Parse error:syntax error, unexpected ‘class’ (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‘{‘ or ‘$’ in /path/bin/console on line 15
現在のエックスサーバーは(2024)
あらかじめパスが通っていて、下のようにそれぞれのバージョンのphpを利用できます。
php7.3 bin/console cache:clear –no-warmup
php7.4 bin/console cache:clear –no-warmup
php8.1 bin/console cache:clear –no-warmup
php8.2 bin/console cache:clear –no-warmup
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。