ubuntu22.04LTS に PHP7.4 をインストールする(PHPをダウングレードする)。

ubuntuを 20.04LTS から 22.04LTS にOSをアップグレードしたら PHP7.4 が削除されて PHP8.1 がインストールされました。22.04LTS ではデフォルトでサポートされているPHPのバージョンは8.1とのことです。 PHPのバージョンを上げるつもりはなかったので元に戻します。作業はrootユーザーで行いました。

まず、PHP7.4で必要なパッケージのインストールを行います。

# apt install software-properties-common

次に、リポジトリの追加を行います。ppa:ondrej/php リポジトリには過去バージョンのPHPが揃っています。

# add-apt-repository ppa:ondrej/php

いったんここでパッケージリストを更新します。

# apt update

準備ができたので、PHPのインストールを行います。必要そうなパッケージをまとめてインストールします。


# apt install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-xml php7.4-mbstring php7.4-curl php7.4-zip

これでPHP7.4のインストールができました。ただこのままだとシステムが認識するPHPは8.1のままなので、update-alternatives コマンドで7.4を有効にする設定をします。

# update-alternatives --config php

選択を促すプロンプトが表示されるので、7.4の番号を選んでリターンキーを押下します。


# update-alternatives --config php
alternative php (/usr/bin/php を提供) には 2 個の選択肢があります。

  選択肢    パス           優先度  状態
------------------------------------------------------------
* 0            /usr/bin/php8.1   81        自動モード
  1            /usr/bin/php7.4   74        手動モード
  2            /usr/bin/php8.1   81        手動モード

現在の選択 [*] を保持するには 、さもなければ選択肢の番号のキーを押してください: 1 ←ここを入力
update-alternatives: /usr/bin/php (php) を提供するためにマニュアルモードで /usr/bin/php7.4 を使います

PHPのバージョンを確認して7.4になっていれば完了です。

# php -v

なお nginxでPHPを動かす場合ですが php7.4-fpm をインストールすると /var/run/php 配下に php7.4-fpm.sock というソケットファイルができます。このソケットファイルを nginx.conf の fastcgi_pass ディレクティブに指定すればよいのですが、同ディレクトリには php-fpm.sock というシンボリックリンクがあり、こちらのリンク先は php7.4-fpm.sock になっているようです。

# update-alternatives --display php-fpm.sock


# update-alternatives --display php-fpm.sock
php-fpm.sock - 自動モード
  最適なリンクのバージョンは '/run/php/php7.4-fpm.sock' です
  リンクは現在 /run/php/php7.4-fpm.sock を指しています
  リンク php-fpm.sock は /run/php/php-fpm.sock です
/run/php/php7.4-fpm.sock - 優先度 74

ですので、php-fpm.sock でも良いと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です