実践

XserverのPHPのバージョンをアップ(変更)する方法

php 実践

ごきげんよう、Zei(ゼイ)です。
LaravelをXserverにインストールする際、PHPのバージョンが違うとエラーが出てしまいました。
そして、Xserverの管理パネルでPHPのバージョンを上げても、それがなぜか反映されないことは結構あるあるらしいですね。。。
ということで、PHPのバージョンアップの方法をまとめました。

記事概要

XserverのPHPのバージョンアップをしないといけないことになった人におススメです。

なぜかPHPのバージョンが違う・・・

XserverへLaravelをインストールしようと『composer install』を打ちこんだ際、下記エラーが表示された。

Your lock file does not contain a compatible set of packages. Please run composer update.

現在のPHPバージョンと composer.lock ファイルに記録されたパッケージの互換性がないよ的な感じ

PHPのバージョンアップのための確認

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

Xserverの管理画面でPHPのバージョンを確認

PHP8.2(.22)のようだ

コマンドにてPHPのバージョンの確認

php -v

PHP8.0(.30)のようだ

残念ながら、Xserverの管理画面で確認したPHPのバージョンと、コマンドで確認したPHPのバージョンが一致していない。

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

whereis php

使用したいPHPのバージョンがあればアップデート可能

PHPのバージョンアップ方法

ホームディレクトリに「bin」フォルダを作成

mkdir $HOME/bin
  • mkdir:フォルダを作成するコマンド
  • $HOME/bin:フォルダを作成する場所/フォルダ名

※『bin』フォルダはbinary(バイナリ)の略
※実行ファイルを入れる場所

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

今回はPHP8.2を指定

ln -s /usr/bin/php8.2 $HOME/bin/php

ln -s <元のファイル> <リンクを作成する場所>

  • ln:「リンクを作成する」コマンド
  • -s: シンボリックリンク(symbolic link)を作成するオプション
  • /usr/bin/php8.2:シンボリックリンクの元となる実際のファイルのパス
  • $HOME/bin/php:シンボリックリンクを作成する場所
    ※$HOME/bin/php というリンクが作成される

.bashrcにパスを通す記述を追記し保存

vi ~/.bashrc

編集するファイルをテキストエディタで開く

  • vi:テキストエディタ vi を起動するコマンド
    • vi はターミナル上で動作する軽量なテキストエディタ
    • vim(Vi IMproved)は機能が強化された派生版で多くの環境では vi を入力しても実際には vim が起動する
  • ~/.bashrc:編集するファイルのパス
    • ~ は現在のユーザーのホームディレクトリを指す(例:/home/username)。
    • .bashrc はBashシェルの設定ファイルでユーザーごとのシェル環境をカスタマイズできる

最終行に以下を追加

export PATH=$HOME/bin:$PATH

シェルの環境変数である PATH を設定して、ユーザーのホームディレクトリ内の bin フォルダを優先的に検索するようにする

  • export:指定した変数を環境変数としてエクスポートする
    ※これにより、設定した PATH をシェル全体で利用できるようになる
  • PATHシェルの環境変数
  • $HOME/bin:ユーザーのホームディレクトリ内にある bin フォルダを指す
  • :$PATH:現在の PATH 環境変数の値を維持し、新しいディレクトリ $HOME/bin を追加する
    ※$HOME/bin を既存の PATH の前に追加しているため、シェルはまず $HOME/bin を優先的に検索

Esc キーを押下しコマンドモードに移動

保存して終了

:wq
  • 保存のみ:w
  • 終了のみ:q

変更内容を反映させる

source ~/.bashrc

source:指定したスクリプトを現在のシェルプロセス内で実行する

※永続的な変更の反映のため

反映されているかを確認

再度現在のPHPのバージョンを確認

php -v 

反映されていれば完了

おまけの便利コマンド

現在の作業場所が確認できる

pwd

ホームディレクトリ(一番上の階層)に戻れる
※引数を指定しない場合、デフォルトでホームディレクトリに移動

cd

今いる階層の直下のファイルやフォルダを表示

ls

参考

【エックスサーバー】SSHのPHPのバージョンを変更する方法
デフォルトのPHPバージョンを確認まず現在のPHPバージョンを「php -v」で確認してみます。php -v2020年3月現在だとデフォルトだとPHP5.4が使われるようです。これではLaravelのartisanコマンドが使えないので、以

終わりに

なぜ管理画面でPHPを切り替えているのに、実際は切り替わらないのでしょう汗
管理画面の意味・・・
しかしおかげでコマンドを知れたので良かったです。

コメント

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