降級到 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 -vPHP 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

相關內容