エックスサーバーに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)
コメント