上一篇
场景引入:
小明刚接手公司的服务器,发现上面跑着陈旧的PHP 5.6,而新项目要求PHP 8.2,他尝试直接安装新版本,结果扩展冲突、配置混乱…这时才意识到——得先彻底清理旧PHP!别急,这份2025年最新整理的Linux卸载PHP指南,将带你一步步解决这个"历史包袱"。
备份关键数据
/etc/php
下的自定义配置文件 ps aux | grep php
composer.json
等依赖声明文件 确认当前PHP安装情况
php -v # 查看主版本 which php # 查看安装路径 dpkg -l | grep php # Debian系已安装包 rpm -qa | grep php # RHEL系已安装包
# 1. 停止相关服务 sudo systemctl stop php-fpm nginx apache2 # 2. 批量移除PHP核心及扩展(以PHP7.4为例) sudo apt purge php7.4* libapache2-mod-php7.4 php7.4-{cli,fpm,curl,gd,mysql} # 3. 清理残留配置 sudo apt autoremove sudo rm -rf /etc/php/7.4 /var/lib/php/sessions/*
# 1. 列出所有PHP相关包 sudo yum list installed | grep php # 2. 批量移除(以PHP8.0为例) sudo yum remove php80w php80w-* # 3. 删除遗留文件 sudo rm -rf /etc/php.d /usr/lib64/php/modules
手动清除常见残留
# 配置文件残留 sudo find /etc -name "*php.ini*" -exec rm -f {} \; # 共享库文件 sudo updatedb && locate libphp | xargs sudo rm -f
处理多版本共存的特殊情况
若使用update-alternatives
管理版本:
sudo update-alternatives --remove-all php sudo update-alternatives --remove-all php-config
四重检查法
# 检查命令是否存在 which php # 应返回"not found" # 检查进程残留 pgrep -f php-fpm # 检查包管理器记录 dpkg -l | grep -i php # 或yum list installed # 检查环境变量 env | grep PHP
常见漏网之鱼
/usr/local/bin
下的手动编译残留 全新安装最佳实践
ondrej/php
PPA(Debian系)或remi
仓库(RHEL系) docker run --rm php:8.2-cli -v
环境管理工具推荐
phpenv
或update-alternatives
Docker
或podman
最后提醒:
卸载PHP可能影响依赖它的服务(如Web服务器),操作前建议在测试环境验证,生产环境务必选择低峰期维护,现在你可以放心安装新版本PHP了!
本文由 那禄 于2025-07-31发表在【云服务器提供商】,文中图片由(那禄)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/494341.html
发表评论