我有一个 Ubuntu 服务器 20.04 安装,其中包括使用 Apache 作为 Web 服务器运行裸机 Nextcloud 实例。我安装了多个 PHP 版本,但到目前为止 Apache 使用的是 PHP 7.4。由于 Nextcloud 弃用了它,我试图迁移到 PHP 8.1(新的推荐版本,仍然不支持 PHP 8.2)。我尝试遵循许多关于如何执行此操作的指南,所有这些基本上都归结为安装 PHP 8.1 和所需的模块,用于a2dismod php7.4
禁用旧的 PHP 版本,启用新版本a2enmod php8.1
并使用systemctl restart apache2
. 这是我关注的最后一个:链接. 但尽管如此,Apache 仍继续使用 PHP 7.4。如果我尝试卸载 PHP 7.4,我的 Nextcloud 安装就会中断(我收到 503 错误)。我尝试了一些细微的变化,但总是失败并最终恢复了我在尝试之前创建的 lvm 快照。但我仍然没有恢复上次尝试的快照,在这里我完成了链接指南中的所有步骤并且我没有卸载 PHP 7.4,所以我的 Nextcloud 仍在工作但使用了错误的版本。我可以检查什么或尝试解决这个问题?谢谢您的帮助,
GTP
最后,问题出在我有两个不同的网站(不是 Nextcloud 本身),它们在
sites-enabled
目录内的 .conf 文件中将 PHP7.4-fpm 指定为它们的处理程序,如下所示:SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
禁用那些解决了问题。因此,如果一个网站指定了 PHP-fpm 的版本而其他网站没有指定,Apache2 似乎会感到困惑,并最终将该版本强制用于所有网站。我暂时将它们禁用,因为我不使用它们,但我会在某个地方记下我更新它们的配置或 Nextcloud 的配置,以防我想再次使用它们。