php7.4 にダウングレードすると php8.1 で停止する

php7.4 にダウングレードすると php8.1 で停止する

Debian (buster) で稼働している Apache サーバーの PHP バージョンを 7.3 から 8.1 にアップグレードしました。Nextcloud のインストールが古いため、php7.4 にダウングレードする必要がありました。ダウングレードは、以下の手順に従ってうまくいきました。これしかし、サーバーは依然として以前のバージョン 8.1.13 であると報告しています。phpversion()サーバーのバージョンを確認するために簡単なファイルを配置しましたが、Nextcloud のインストールでバージョンが正しくないと報告されています。これはキャッシュの問題ですか、それとも手動で変更する必要がある構成ファイルですか?

  • CLI:php -v戻り値PHP 7.4.33 (cli) (built: Nov 8 2022 11:35:02) ( NTS )
  • php -c /etc/php/apache2/php.ini -v読むPHP 7.4.33
  • update-alternatives --config phpショー* 2 /usr/bin/php7.4 74 manual mode
  • php7.4モジュールを追加しましたsudo a2enmod php7.4
  • 他のすべてのPHPモジュールを削除しましたsudo a2dismod phpX.Y
  • /etc/apache2/mods-enabled/ looks like this:

access_compat.load autoindex.load mime.load reqtimeout.load alias.conf deflate.conf mpm_prefork.conf rewrite.load alias.load deflate.load mpm_prefork.load setenvif.conf auth_basic.load dir.conf negotiation.conf setenvif.load authn_core.load dir.load negotiation.load socache_shmcb.load authn_file.load env.load php7.4.conf ssl.conf authnz_external.load filter.load php7.4.load ssl.load authz_core.load headers.load proxy.conf status.conf authz_host.load http2.conf proxy_fcgi.load status.load authz_user.load http2.load proxy.load unique_id.load autoindex.conf mime.conf reqtimeout.conf

phpinfoの読み出しはここで見つかりました

答え1

自分の質問に答えるのは嫌だったが、私はこの問題から抜け出す方法を見つけた。

apt purge '^php8.1.*'

サーバーを再起動して、以前のバージョンのPHPを実行しました。なぜサーバーは、 経由で指定するバージョンではなく、最新のバージョンを選択しましたupdate-alternatives --config php

答え2

私の場合はphp8.1-fpm設定ファイルも無効にする必要がありました

sudo a2disconf php8.1-fpm

そしてapache2をリロードします

sudo systemctl reload apache2

関連情報