composer install でエラー、PHPのバージョンの違い(エックスサーバ)

エックスサーバで、composer installする時、以下のようなエラーが出た。

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

ローカルの開発環境と、サーバのPHPのバージョンが違うと、このようなエラーが出るようです。

バージョンの確認

ローカルのPHPのバージョンは7.x系。

あれ?エックスサーバのPHPのバージョンも7.x系のはず。。。

エックスサーバのコントロールパネルで確認すると、7.x系となっている。(ハテ?)

エックスサーバはどうやら、ターミナルから使えるPHPのバージョンと、ホームページ上で動くPHPのバージョンとは別のようです。

エックスサーバにターミナルで接続して、PHPのバージョンを確認してみる。

バージョンの確認コマンド

$ php -v

すると、5.x系でした。。。

バージョンの変更

ターミナルから使えるPHPのバージョンを変更します。

バージョン一覧を表示

$ find /opt/php-*/bin -type f -name 'php'

使用可能なバージョンのリストが表示されるので、使いたいバージョンを確認します。

今回は、7.3.8を使用します。

バージョンを選択

# フォルダ作成
$ mkdir $HOME/bin

# シンボリックリンク作成
$ ln -s /opt/php-7.3.8/bin/php $HOME/bin/php

パスを通す

#バックアップ(必要な場合)
$ cp ~/.bashrc ~/.bashrc.bk

#bashrcファイルを開く
$ vi ~/.bashrc

############ここからVimコマンド############
#インサートモードにする
i
#末尾などに以下を追記
export PATH=$HOME/bin:$PATH

#コマンドモードに戻す
「ESC」キー
#保存して閉じる
:wq
############ここまでVimコマンド############

#更新
$ source ~/.bashrc

確認

$ php -v

PHP7.3.8・・・と表示されていれば成功!