PHPのバージョンを変更する方法

コンピュータ関連
この記事は約5分で読めます。

2025.4.2 

この前UbuntuのOSバージョンを、20.04から22.04へアップグレードしたら、Apache2が使えなくなる現象が起きました。

結論として、「勝手に最新版のPHPをインストール」されて「参照するモジュールがずれる」ことが原因のようです。

(正確には、最新版のPHPをインストールしたのに、参照モジュールが古いかぐちゃくちゃになってる、という齟齬が生まれて起動できん、という内容。)

ここでは、「PHP8系をPHP7系へ戻す(ダウングレードする)方法」の忘備録として記しました。

正確に言うと、この方法は「インストールされたPHPのバージョンを自由に変えられる」事ができる機能を利用したものです。

ですので、「PHPを任意のバージョンへ変更する」やり方でもあるので、他方で参考になるかと思います。

 

 

0.実行環境

■サーバ環境

・さくらVPSメモリ:2GB、CPU:3コア、SSD:200GB)

LinuxOS:Ubuntu22.04LTS

Apache:2.4

MySQL:8.0

PHP:7.4、8.1

 

1.現状の確認

まずはApache2のサービスを止めます。↓

sudo systemctl stop apache2

次のコマンドで、現在デフォルトで起動されるPHPのバージョンを把握します。↓

sudo update-alternatives --config php

現在起動しているPHPのバージョンの所に「*」印が付きます。

ここで、任意の数字(Selection)を入力すると、そのバージョンに変更できます。

(ここでは「1」を選択し、php8.1php7.4へ変更しています。)

もう一回コマンドを入力し、変更されたか確認します。↓

sudo update-alternatives --config php

変更が確認できたと思います。

 

2.モジュールの参照値変更

次に変更したPHPのバージョンのモジュールに合うよう、モジュールの参照値を変更していきます。

まずは、変更前のPHPバージョンのモジュール参照値を解除します。↓

(PHP8.1を解除する例です。)

sudo a2dismod php8.1

※「ファイルが見つかりません」みたいな警告が出たらおそらく入力ミスです。php8.1〇〇みたいな特殊なバージョンもあったりするので、手順1で良くPHPのバージョンを確認してください。

解除されたら今度は使用したいPHPのバージョンに参照値を登録します。↓

PHP7.4を登録する例です。)

sudo a2enmod php7.4

最後に、Apache2を起動させて、エラーが出なければOK!↓

sudo systemctl apache2

これでphp7.4でWebサーバが起動する状態となります。

念のため、Webサーバを利用しているコンテンツを作動させて問題なければ、指定のPHPバージョンでWEBサーバが動いていることになります。

お疲れさまでした。

 

3.最後に

このような具合に、PHPを好きなバージョンに変更できるので、「PHPのバージョン変えたらサービスで不具合が出た」ら前のバージョンに戻したりできます。

故意にPHPのバージョンが上がっちゃった場合はこれで慌てることなく対処できそうですね。

また、「phpMyAdmin」をご利用の方は、こちらもPHPのバージョンが影響しますので、下記記事を参照し確認いただくと良いかと思います。

 

▼オススメ教本▼

プロフィール
当ブログ管理者
shibatty

SIer→CE兼プログラマー。
趣味:ダム巡り、車、バイク、おキャンプ。
愛車:YAMAHA セロー250、Kawasaki Ninja250R。
実績:BikeJIN2018ラリー完走。 2017,18,19,21年SSTR完走。 日本一周ダムカード収集ラリー完走(2018.5.26~11/20)。

shibattyをフォローする
コンピュータ関連
シェアする
shibattyをフォローする

コメント

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