无法在 Ubutnu 20.04 上将 PHP 版本从 8.0 切换到 7.4

Dan*_*Dan 6 php apache ubuntu webserver

我需要在 Ubutnu 20.04 上将 PHP 版本从 8.0 切换到 7.4。我尝试运行以下命令(但没有成功):

sudo a2dismod php8.0
sudo a2enmod php7.4
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

当我打开带有 PHP info 的本地网页时<?php phpinfo(); ?>,PHP 版本仍然是 8.0.3 而不是 7.4。

请注意,当我执行该命令时,sudo a2enmod php7.4我得到以下输出:

dan@dan:~$ sudo a2enmod php7.4
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Enabling module mpm_prefork.
Considering conflict php5 for php7.4:
Enabling module php7.4.
To activate the new configuration, you need to run:
  systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)

也许这就是问题的根源?

GAD*_*D3R 10

用于update-alternatives设置默认php版本:

sudo update-alternatives --set php /usr/bin/php7.4
Run Code Online (Sandbox Code Playgroud)

如果出现错误no alternatives for php,请参考我在 U&L 上的回答添加(替换php为)。update-alternativespythonphp


Moh*_*dad 7

我已经找到答案了。问题是 apache 仍在尝试使用 php-fpm-8.0,为了解决该问题,我只需安装 php7.4-fpm 并使用以下命令禁用 php8.0-fpm:

sudo systemctl stop php8.0-fpm
sudo systemctl disable php8.0-fpm

sudo apt install php7.4-fpm
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm

sudo a2disconf php8.0-fpm
Run Code Online (Sandbox Code Playgroud)