XserverのSSH接続でPHPバージョンを変更する方法をわかりやすく

wordpress編

こんにちは

先日XserverにSSH接続し、Tera Termでコマンド操作する機会があったんですが、当初コマンドがうまく動作しませんでした。

コマンドは、wordpress用のWP-CLIライブラリの中の「regenerate」でしたが、実行すると、

「あなたのサーバーのPHPバージョンは5.4.16だが、wordpress6.1.1には少なくてもPHPバージョン5.6.20以上が必要です。」

と言われました。

け~さん
け~さん

???XserverのPHPバージョンはたしか7.4.33に設定しているはずだが?

で、Xserverのサーバーパネルで確認してみると、やはり7.4.33になってます。

どういうことなのか?

そこで今回は、XserverのSSH接続でWP-CLIコマンドを実行させるために行った、PHPバージョンの変更方法をわかりやすく説明します。

SSH接続のPHPバージョン

数あるレンタルサーバーの中でも、XserverはSSHを使ってサーバー上のファイル操作が安全にできるユーザーフレンドリーなサーバーです。

   \Xserverの申し込みはこちらから/

ですが、SSH接続して、Tera TermからWP-CLIのコマンドを実行しようとすると、前述のようにPHPのバージョンが適切でないと言われました。

実は、XserverでSSH接続しコマンドラインを実行する際に適用されるPHPバージョンは、デフォルトでPHP5.4.16になっています。

これは、XserverのサーバーパネルからPHPバージョンを切り替えてもその結果が反映されず、変更されません。

Xserverのサーバーパネル

PHPバージョンの変更

解決策として、wordpressのバージョンダウンも考えましたが、あまり現実的とは言えません。そこでSSH接続時のPHPバージョンを変更することにしました。

け~さん
け~さん

これがコマンド素人の私には大変でした。何度もやり直し
何とか変更できましたが、できるだけわかりやすく説明します。

PHPバージョン変更手順
  • SSH接続
  • 現在のPHPバージョン確認
  • 利用できるPHPバージョンの確認
  • binディレクトリの作成
  • シンボリックリンクの作成
  • bash_profileを編集
  • 変更を反映させる
  • 確認

①SSH接続

とりあえずSSH接続しないと始まりません。

SSH接続にはTera Termを使いますが、詳細は前回の記事を参照してください。

②現在のPHPバージョン確認

SSH接続できたら、現在のPHPバージョンを確認します。

Tera Termのプロンプトに

php -v

と入力後Enterを押す。

すると、上図のように現在SSHで使われているPHPのバージョンが表示されます。
上図はすでに変更済みのためPHP7.4.33になってますが、通常はPHP5.4.16となっていると思います。

③利用できるPHPバージョン確認

次にXserverで利用できるPHPバージョンとパスを調べます。

Tera Termに

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

と入力しEnterを押すと、

このように利用できるPHPのバージョン一覧とパスが表示されます。

ここで使いたいバージョンのパスをメモしておきます。
私は、Xserver推奨のPHPバージョン7.4.33にしましたのでパスは、

/opt/php-7.4.33/bin/php

になります。

④binディレクトリを作成

Xserverのホームディレクトリにbinディレクトリが無い場合は、作成しておきます。

mkdir $home/bin

すでにディレクトリが存在する場合は、「/binを作成できません:ファイルが存在します。」と言われますがそのままで問題ありません。

⑤シンボリックリンクの作成

*注 すでにシンボリックリンクが存在する場合もあります。

すでにPHPのシンボリックリンクが存在していることがありますので、シンボリックリンク作成前に、念のため既存のリンクを解除しておきましょう。

プロンプトでbinディレクトリに移動した後、リンク解除します。

cd $home/bin
unlink php

それでは、binディレクトリの中に、選択したPHPバージョンのシンボリックリンクを作成します。(シンボリックリンクはWindowsのショートカットと似た機能のことです。)

プロンプトに、

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

このように入力しEnterを押します。

*上記コマンドの「/opt/php-7.4.33/php」の部分が先ほどメモしたPHPバージョンのパスになります。

これで、binディレクトリに選択したPHPバージョンのシンボリックリンクができました。

シンボリックリンクの確認は、binディレクトリに移動し、「ls -l」コマンドでできます。

ls -l
lrwxrwxrwx 1 ksanhonsan3 members 23  1月 21 22:07 php -> /opt/php-7.4.33/bin/php

上記のようになっていればOK。

⑥bash_profoileの編集

続いて、bash_profileを編集してbash起動時に、優先的にbinディレクトリを参照するようにパス(PATH)を通します。

はるこ
はるこ

bash_profile?bash?何がなんやらわかりにくいですね。
まぁそんなものかと思ってください。

bash_profileの編集はプロンプトからもできます。

vi .bash_profile

ですが、「vi」を使った編集は私には手強かったので、XserverのWebFTP(ファイルマネージャー)で行いました。

Xserverのファイルマネージャーにログインし、

ルートディレクトリから「bash_profile」を選択、メニューの「編集」をクリックしファイルを開きます。

編集するのは、

PATH=$PATH:$HOME/bin

この部分です。これを、

PATH=$HOME/bin:$PATH

と書き換えるだけ。

書き換えたbash_profile

書き換えが終わったら下の更新をクリックしてください。

⑦変更を反映させる

bash_profileを編集し終えたら、変更を反映させなければなりません。

プロンプトにもどり、

source .bash_profile
け~さん
け~さん

bash_profileの前に「.」ドットを入れるのを忘れないでくださいね。

⑧変更の確認

最後にPHPバージョンを変更できたかどうか確認してください。

プロンプトから、

php -v

上図のように、希望のバージョン(ここではPHP7.4.33)になっていれば完了です。

まとめ

もともとは、wordpressのプラグインRegenerate Thumbnailsを使おうとして試してみたSSH接続ですが、コマンド音痴の私には敷居が高かったです。

ただ今回の作業を通じて、少しはUNIX/Linuxのコマンド操作やサーバーの遠隔操作について学べたのは収穫だったかなと思います。

け~さん
け~さん

いやぁ~しかしネットの世界は深くて広いなぁ。

はるこ
はるこ

あんまり深入りすると抜け出せなくなりそう。

ですが、いずれ今回覚えた一連の操作がいずれ役に立つ時が来るんではないかと思ってます。

今回は以上です。

この記事がどなたかのお役に立てればうれしいです。

それでは

  \Xserverに興味のある方はこちらから/

最新お役立ち情報

コメント

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