エックスサーバーでコマンド実行時(CLI)に最新のPHPを利用出来るようにする方法

エックスサーバーにSSHでログイン後にコマンド操作する際やcronで予め用意したプログラムを実行する際などコマンド実行時(CLI)に最新のPHPを利用出来るようにする方法を書いて行きます。

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

SSHでログイン後に「php -v」 でデフォルトで設定されているPHPのバージョンを確認します。

$ php -v
 PHP 5.4.16 (cli) (built: Apr  1 2020 04:07:17)
 Copyright (c) 1997-2013 The PHP Group
 Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
     with Zend OPcache v7.0.5, Copyright (c) 1999-2015, by Zend Technologies

そろそろ PHP7系をデフォルトにしてくれてもいいような気もしますが、エックスサーバー(※ビジネスも同様)では PHP 5.4.16 がデフォルトに設定されているようでした。

利用可能なPHPバージョンを確認

“whereis” や “find” コマンドで利用可能なPHPのバージョンを確認します。

whereisコマンド

$ whereis php
 php: /usr/bin/php /usr/bin/php5.6-cgi /usr/bin/php5.1 /usr/bin/php5.3 /usr/bin/php5.4 /usr/bin/php5.5 /usr/bin/php7.0-cgi /usr/bin/php7.1 /usr/bin/php7.1-cgi /usr/bin/php7.2-cgi /usr/bin/php7.3 /usr/bin/php7.4-cgi /usr/bin/php5.6 /usr/bin/php7.0 /usr/bin/php7.2 /usr/bin/php7.3-cgi /usr/bin/php7.4 /usr/lib64/php /usr/share/php /opt/php-5.4.40/bin/php /opt/php-5.4.45/bin/php /opt/php-5.5.24/bin/php /opt/php-5.6.15/bin/php /opt/php-5.6.18/bin/php /opt/php-5.6.8/bin/php /opt/php-7.0.0/bin/php /opt/php-7.0.3/bin/php /opt/php-5.6.22/bin/php /opt/php-7.0.7/bin/php /opt/php-5.6.24/bin/php /opt/php-7.0.9/bin/php /opt/php-5.5.38/bin/php /opt/php-5.4.16/bin/php /opt/php-5.3.3/bin/php /opt/php-5.1.6/bin/php /opt/php-5.6.30/bin/php /opt/php-7.0.16/bin/php /opt/php-7.1.2/bin/php /opt/php-7.0.17/bin/php /opt/php-7.1.3/bin/php /opt/php-7.0.18/bin/php /opt/php-7.1.4/bin/php /opt/php-7.2.1/bin/php /opt/php-5.6.36/bin/php /opt/php-7.0.30/bin/php /opt/php-7.1.18/bin/php /opt/php-7.2.6/bin/php /opt/php-7.2.14/bin/php /opt/php-5.6.40/bin/php /opt/php-7.0.33/bin/php /opt/php-7.1.27/bin/php /opt/php-7.2.16/bin/php /opt/php-7.1.28/bin/php /opt/php-7.2.17/bin/php /opt/php-7.3.4/bin/php /opt/php-7.2.20/bin/php /opt/php-7.3.8/bin/php /opt/php-7.1.33/bin/php /opt/php-7.2.27/bin/php /opt/php-7.3.14/bin/php /opt/php-7.4.2/bin/php /opt/php-7.4.3/bin/php /opt/php-5.6.40-webp/bin/php /opt/php-7.0.33-webp/bin/php /opt/php-7.1.33-webp/bin/php /opt/php-7.2.29/bin/php /opt/php-7.3.16/bin/php /opt/php-7.4.4/bin/php /opt/php-7.2.34/bin/php /opt/php-7.3.25/bin/php /opt/php-7.4.13/bin/php /usr/share/man/man1/php.1.gz

findコマンド

$ find /opt/php-7*/bin -type f -name 'php'
 /opt/php-7.0.0/bin/php
 /opt/php-7.0.16/bin/php
 ...
 /opt/php-7.4.13/bin/php
 /opt/php-7.4.2/bin/php
 /opt/php-7.4.3/bin/php
 /opt/php-7.4.4/bin/php
 /opt/php-7.4/bin/php

上記コマンドで利用可能な最新バージョンのPHPは “7.4.13” でしたので以降このバージョンを設定していきます。

ホームディレクトリに bin ディレクトリ作成

利用するPHPのシンボリックリンクを作成するためホームディレクトリ以下に bin ディレクトリを作成します。

$ mkdir $HOME/bin

シンボリックリンクを作成する

$ ln -s /opt/php-7.4.13/bin/php $HOME/bin/php

上記コマンド実行後、bin ディレクトリ内にシンボリックリンクが作成されているか確認します。

$ ll
 合計 0
 lrwxrwxrwx 1 [サーバーID] members 23  2月  2 00:58 php -> /opt/php-7.4.13/bin/php

.bashrc にパスを通す

“vi” で “~/.bashrc” を開くとデフォルトで以下の内容が記述されています。

$ vi ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
# User specific aliases and functions

先ほど、bin ディレクトリにパスを通すため最終行に以下を追加します。

export PATH=$HOME/bin:$PATH

設定内容を反映させる

以下のように sourceコマンドを実行して設定内容を反映させます。

$ source ~/.bashrc

設定変更後のPHPバージョン確認

以下のようにデフォルトの “5.4.16” から “7.4.13” のバージョンに設定変更出来ていることが確認できます。

$ php -v
 PHP 7.4.13 (cli) (built: Dec  6 2020 21:19:47) ( NTS )
 Copyright (c) The PHP Group
 Zend Engine v3.4.0, Copyright (c) Zend Technologies

動作環境情報

エックスサーバー(x10)
エックスサーバービジネス(B10)

コメント

タイトルとURLをコピーしました