Ubuntu 16.04下Apache环境PHP7.2降级至7.1的无重装方案咨询
我之前帮不少开发者处理过Ubuntu 16.04上PHP版本降级的坑,尤其是你这种怕碰坏Apache和MySQL的情况,完全不用重装那些组件,按下面的步骤来稳得很:
第一步:先备份关键配置,留好后路
- 备份Apache的PHP7.2配置文件:
sudo cp /etc/apache2/mods-available/php7.2.conf /etc/apache2/mods-available/php7.2.conf.bak - 备份PHP7.2的核心配置:
sudo cp /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.bak - 如果你有自定义的PHP扩展配置,也记得备份
/etc/php/7.2/mods-available/目录下的相关文件
第二步:安全移除PHP7.2,绝不碰Apache/MySQL
重点是只卸载PHP相关包,别误删服务器组件:
- 先禁用Apache里的PHP7.2模块:
sudo a2dismod php7.2 - 彻底卸载PHP7.2的核心包和所有扩展:
sudo apt-get purge php7.2* - 清理残留的依赖和无用配置:
sudo apt-get autoremove && sudo apt-get autoclean
第三步:添加PHP7.1的软件源
Ubuntu 16.04默认源里没有PHP7.1,得加个靠谱的第三方PPA:sudo add-apt-repository ppa:ondrej/phpsudo apt-get update
第四步:安装PHP7.1及常用扩展
根据你的应用需求安装核心包和必要扩展(下面是最常用的组合,按需增减):sudo apt-get install php7.1 php7.1-cli php7.1-common php7.1-mysql php7.1-gd php7.1-curl php7.1-json php7.1-opcache php7.1-mbstring php7.1-xml php7.1-zip
第五步:让Apache用上PHP7.1
- 启用PHP7.1的Apache模块:
sudo a2enmod php7.1 - 重启Apache服务生效:
sudo systemctl restart apache2
第六步:验证降级成功
- 先在终端查PHP版本:
php -v,正常会显示7.1.x的版本号 - 再做网页端验证:在网站根目录(比如
/var/www/html/)创建info.php文件,内容如下:
<?php phpinfo(); ?>
访问这个文件,确认页面显示的PHP版本是7.1,同时测试你的应用能不能正常连接MySQL,确保没有异常
踩坑提醒
- 如果安装时遇到依赖冲突,先执行
dpkg --list | grep php看看所有PHP相关包,把残留的非7.1版本包卸载掉 - 之前备份的php.ini配置,可以复制到
/etc/php/7.1/apache2/php.ini里,注意路径要对应7.1的目录 - 全程别碰
apache2、mysql-server这类包,所有操作只针对PHP相关
内容的提问来源于stack exchange,提问作者Pegues
相关产品推荐
相关产品推荐

