以前SSH接続とコマンド操作によりPHPのCLIバージョンを最新にする方法に触れましたが、今回はcomposerの設置とバージョンアップのための手順についてです。

ここでもPCはwindows、サーバーはエックスサーバー(あるいはシン・レンタルサーバー)という条件になります。

デフォルトのcomposerのバージョンを確認

まずはデフォルトのcomposerのバージョンを確認します。

SSH接続して、「composer -V」と入力しましょう。

$ composer -V
Composer version 1.10.22 2021-04-27 13:10:45

バージョン1.10.22と表示されました。

結構古いというか、デフォルトで2.x系を入れてくれてもいいのにという気はします。

新しいバージョンのcomposerを設置する

新しいバージョンのcomposerを設置を行っていきます。

コマンドを実行してcomposerをインストールする

composerのサイトに移動し、インストール用のコマンドを確認しましょう。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

こんな感じのコードがあるので、それを実行します。

All settings correct for using Composer
Downloading...

Composer (version 2.8.5) successfully installed to: /home/*********/composer.phar
Use it: php composer.phar

バージョン2.8.5のcomposerが設置されました。

またこの時点でcomposer.pharというファイルが作られます。

composer.pharファイルを移動し、名前を変更する

「composer -V」を打ち込むとわかりますが、最新のcomposerがインストールできたとはいっても、すぐに反映されるわけではありません。

phpのCLIバージョンの設定においてもリンクやパスの設定を行いましたが、似たような作業がcomposerでも必要です。

やることは先ほど生成されたcomposer.pharファイルをbinディレクトリに移動し、ファイル名を変更します。

$ mkdir -p $HOME/bin
$ mv composer.phar $HOME/bin/composer

「mkdir -p $HOME/bin」はbinディレクトリがない場合、新たに生成ます。

phpのCLIバージョン変更作業により、すでにディレクトリがある場合は何も起こりません。

二列目の「mv composer.phar $HOME/bin/composer」がファイルの移動と名前の変更です。

mvコマンドはファイルの移動やリネームを行うコマンドで、composer.pharファイルをHOME/bin/フォルダに移動し「composer」という名前にします。

元のcomposer.pharはファイル名が長く、そのままだと「php composer.phar」のように使う必要があります。
名前をcomposerに変えることで、単純に「composer」としてコマンドが実行可能になります。

これにより、composerコマンドとして利用できるようになります。

パスの追加と設定

ここでいわゆる「パスを通す」という作業を行います。

binフォルダに移動させ、ファイル名を変更したcomposer(元composer.phar)がどこにあるのかをあらかじめセッティングしておきます。

viエディタで.bashrcを編集する

.bashrcファイルを編集します。

$ vi ~/.bashrc

viでコマンドをエディタモードにし、.bashrcを開きます。

export PATH=$HOME/bin:$PATH

パスを通すためのコードを追記します。

コードを書き込んだら、内容を保存してエディタモードを終了します。

echoコマンドで.bashrcを編集する

コマンドから直接入力でパスを設定することも可能です。

$ echo '' >> ~/.bashrc
$ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc

.bashrcファイルにパスを入力しましょう。

これもphpのCLIバージョン変更作業により、binディレクトリまでのパスが設定済であれば、府不要になります。

パスが追加されたか確認してみる

パスを追加したら、一度確認してみましょう。

$ printenv PATH

printenvコマンドは環境変数の値を表示するために使用されます。

単にprintenvと打ち込むと、あらゆる環境変数の値が表示されますが、ここではPATHの値だけを確認したいので、「printenv PATH」と入力します。

/home/**********/bin:/usr/lib/courier-imap/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/**********/.composer/vendor/bin

パスの値は「:」ごとに区切られていて、見やすくすれば次のようになります。

/home/**********/bin
/usr/lib/courier-imap/bin
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/**********/.composer/vendor/bin

このうち「/home/**********/bin」が、先ほど追加したものです。

変更内容を反映し、バージョンを確認する

最後に内容を反映させましょう。

$ source ~/.bashrc

あとは「composer -v」と打ち込んで、バージョンを確認します。

$ composer -V
Composer version 2.8.5 2025-01-21 15:23:40

Composerのバージョンが2.8.5と表示されました。

これでComposerのバージョンアップはOKとなります。