Ubuntu 22.04下如何将php-fpm8.1降级至php-fpm7.4?
Ubuntu 22.04下如何将php-fpm8.1降级至php-fpm7.4?
别担心,我帮你一步步完成降级操作,全程尽量避免影响现有环境,放心跟着来~
步骤1:先备份关键配置
首先做好备份,万一出问题能快速恢复:
- 备份你的Nginx站点配置(把
your-site.conf换成你实际的站点配置文件名):sudo cp /etc/nginx/sites-available/your-site.conf /etc/nginx/sites-available/your-site.conf.bak - 备份php-fpm8.1的配置文件:
sudo cp -r /etc/php/8.1/fpm/ /etc/php/8.1/fpm.bak/
步骤2:添加PHP 7.4的软件源
Ubuntu 22.04默认软件源里没有PHP 7.4,我们需要添加第三方PPA源:
sudo add-apt-repository ppa:ondrej/php sudo apt update
步骤3:安装php-fpm7.4及常用扩展
安装核心的php-fpm7.4,同时建议安装老项目常用的扩展(你可以根据实际需求调整):
sudo apt install php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml
步骤4:配置Nginx切换到php7.4-fpm
编辑你的Nginx站点配置文件,找到处理PHP请求的fastcgi_pass行,把原来的php8.1路径改成php7.4的:
原内容:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
修改后:fastcgi_pass unix:/run/php/php7.4-fpm.sock;
保存配置后,先测试Nginx配置是否合法:
sudo nginx -t
如果输出test is successful,就重启Nginx让配置生效:
sudo systemctl restart nginx
步骤5:停止并禁用php-fpm8.1(可选但推荐)
为了避免两个版本的php-fpm冲突,建议停止并禁用php8.1-fpm服务:
sudo systemctl stop php8.1-fpm sudo systemctl disable php8.1-fpm
如果之后你还需要用php8.1,只需要执行sudo systemctl enable --now php8.1-fpm就能恢复服务。
步骤6:验证降级是否成功
创建一个临时的phpinfo文件来确认版本:
sudo nano /var/www/html/info.php
输入以下内容:
<?php phpinfo(); ?>
保存退出后,在浏览器访问http://你的服务器IP/info.php,检查页面顶部的PHP版本是否为7.4。确认无误后记得删除这个文件(避免安全风险):
sudo rm /var/www/html/info.php
备注:内容来源于stack exchange,提问作者N_Z
相关产品推荐
相关产品推荐

