我需要在Ubutnu 20.04上将PHP版本从8.0切换到7.4。我尝试运行以下命令(但没有成功(:
sudo a2dismod php8.0
sudo a2enmod php7.4
sudo service apache2 restart
当我打开一个带有PHP信息<?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
也许这就是问题的根源?
使用update-alternatives
设置默认的php
版本:
sudo update-alternatives --set php /usr/bin/php7.4
如果你得到一个错误no alternatives for php
,请参阅我在U&L将php
添加到update-alternatives
(用php
替换python
(。
我找到了答案。问题是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
谢谢你,这对我也有用。我用它来启用7.4和禁用8.1,后者有同样的问题:
sudo a2dismod php5.6
sudo a2dismod php8.1
sudo a2enmod php7.4
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo a2disconf php8.1-fpm
sudo service apache2 restart