PHPのアップデートとApacheについて

以下、作業用メモです。

・サーバー上でPHPバージョンが共存していたことからいろいろ気になって調べました。

「PHPのマルチバージョン」または「PHPの並行インストール」

たとえば、あるアプリケーションが特定のPHPバージョンで最適に動作する一方で、他のアプリケーションやシステムが新しいバージョンを必要とする場合、サーバー管理者は両方のバージョンをインストールして、それぞれのアプリケーションが必要とするバージョンを使用できるようにしている。コマンドラインからphp -vを実行すると、デフォルトのPHPバージョンが表示される。

異なるPHPバージョンが表示されることに違和感を覚えるかもしれないが、これは一般的なサーバー管理の一部であり、特定のアプリケーションの要件を満たすために行われる。それぞれのアプリケーションが必要とするPHPバージョンを正しく使用している限り、問題はない。ただし、可能であれば、すべてのアプリケーションを最新のPHPバージョンで動作するように更新することが推奨される。これにより、パフォーマンスの向上やセキュリティの強化などの利点を享受できる。ただし、これはアプリケーションが新しいバージョンと互換性がある場合に限る。

自前でサーバーを用意している場合のPHPのアップデート

PHPのバージョンを更新するためには、SSH(Secure Shell)などを使用してサーバーに直接ログインし、コマンドラインから操作を行う。以下は、DebianやUbuntuなどのLinuxディストリビューションでPHPを更新する一般的な手順:

  1. 現在のPHPバージョンを確認する:ターミナルからphp -vコマンドを実行して、現在のPHPバージョンを確認。
  2. 新しいPHPバージョンをインストールする:以下のコマンドを実行して、新しいPHPバージョン(例えば8.3)をインストールします:(※ここはあとでもう少し詳しく調べる)
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php8.3
  1. 新しいPHPバージョンに切り替える:以下のコマンドを実行して、新しいPHPバージョンに切り替えます:
sudo update-alternatives --set php /usr/bin/php8.3
  1. 新しいPHPバージョンが正しく設定されたことを確認する:再度php -vコマンドを実行して、新しいPHPバージョンが正しく設定されたことを確認します。

以上が一般的な手順ですが、具体的な手順は使用しているLinuxディストリビューションやサーバーの設定により異なる場合があります。

ApacheのPHPモジュールも更新する

WebサーバーでPHPのバージョンアップする際は、ApacheのPHPモジュールも新しいバージョンに更新する必要がある。これは、Apacheが新しいPHPバージョンを認識し、適切に処理できるようにするため。

具体的には、以下のコマンドを実行してApacheのPHPモジュールを新しいバージョン(例えば8.3)に更新する:

sudo apt-get install libapache2-mod-php8.3

使用しているphpのバージョン(例えば7.4)を無効にする:

sudo a2dismod php7.4

ApacheにPHPモジュールを有効にするために、以下のコマンドを実行:

sudo a2enmod php8.3

次に、Apacheを再起動して新しい設定を反映:

sudo systemctl restart apache2

これにより、ApacheはPHPモジュールを有効にし、PHPスクリプトの実行を処理できるようになる。必要に応じて、異なるPHPバージョンをインストールし、使用することもできる。ApacheはそれぞれのPHPバージョンに対して異なるモジュールを有効にできる。

Debian 10では、PHPモジュールのパッケージ名にバージョン番号が付いています。したがって、必要なPHPバージョンに合わせて適切なモジュールをインストールして有効にすることが重要。

【参考サイト】

この記事を書いた人