登录
首页 >  文章 >  php教程

Linux彻底卸载PHP及依赖教程

时间:2026-02-13 20:19:24 109浏览 收藏

在Linux系统中彻底卸载PHP远不止简单删除php命令,关键在于精准识别安装方式(包管理器安装或源码编译),并针对性执行依赖清理、配置清除、服务停用及Web服务器模块解耦;盲目使用基础卸载命令极易遗留扩展、配置文件、服务单元或动态链接库,导致重装失败、系统冲突或服务异常,本文系统梳理了Debian/Ubuntu、RHEL/CentOS/Rocky等主流发行版的完整卸载路径与验证要点,助你真正实现零残留、可复现的干净移除。

Linux下怎么卸载PHP_使用命令完全移除PHP及相关依赖【教程】

Linux 下卸载 PHP 并不等于只删掉 php 命令,真正干净移除需要分清安装来源(包管理器 vs 源码编译),否则残留配置、扩展、服务或依赖会干扰后续重装或系统稳定性。

确认 PHP 安装方式和当前版本

盲目执行 apt remove phpyum remove php 可能只删主包,漏掉 php-cliphp-fpmlibphp 等关键组件。先查清楚:

  • 运行 which phpphp -v 看路径和版本
  • Debian/Ubuntu:用 dpkg -l | grep php 列出所有 PHP 相关包
  • RHEL/CentOS/Rocky:用 rpm -qa | grep php
  • /usr/local/bin/php 存在,大概率是源码编译安装,包管理器命令无效

用 apt/yum/dnf 彻底卸载 PHP(包管理器安装)

包管理器安装的 PHP,必须按「反向依赖链」清理,否则 php-commonphp-xml 这类底层包可能被其他软件依赖而保留。

  • Ubuntu/Debian:sudo apt purge $(dpkg -l | grep '^ii php' | awk '{print $2}') && sudo apt autoremove -y
  • CentOS 7:sudo yum remove $(rpm -qa | grep '^php') && sudo yum autoremove -y
  • RHEL 8+/Rocky 9:sudo dnf remove $(dnf list installed | grep php | awk '{print $1}' | sed 's/\.x86_64//; s/\.aarch64//'),再加 sudo dnf autoremove
  • 注意:不要手动删 /etc/php//usr/lib/php/purgeremove 通常已包含配置清理;但若需彻底,可后续手动 rm -rf /etc/php/ /usr/lib/php/ /var/lib/php/

源码编译安装的 PHP 怎么卸载

源码安装没有包管理器记录,卸载只能靠「反向操作」:进原编译目录执行 make uninstall(仅当 Makefile 支持),否则只能手动清理。

  • 检查安装前 configure 的 --prefix 参数(如 --prefix=/usr/local/php),然后 sudo rm -rf /usr/local/php
  • 删二进制链接:sudo rm -f /usr/bin/php /usr/bin/phpize /usr/bin/php-config
  • 删 ini 文件:sudo rm -f /usr/local/lib/php.ini /usr/local/etc/php-fpm.conf
  • 删 systemd 服务(如有):sudo systemctl stop php-fpm && sudo systemctl disable php-fpm && sudo rm -f /etc/systemd/system/php-fpm.service
  • 最后检查 echo $PATH~/.bashrc 是否还存在手动添加的 PHP 路径

验证是否真卸干净

卸完别急着重装,先确认残留——很多“卸载失败”其实是 PATH 缓存或旧二进制未清导致的假象。

  • 运行 command -v phpcommand -v php-fpm,应无输出
  • 执行 php -v 应报 command not found,而非版本号
  • 检查 ps aux | grep phpsystemctl list-units | grep php,确认无进程或服务残留
  • 若曾用 Ondrej PPA(Ubuntu)或 Remi 仓库(RHEL),记得 sudo add-apt-repository --remove ppa:ondrej/phpsudo dnf config-manager --disable remi-php*,避免下次 apt update 又拉回旧包

最常被忽略的是 Web 服务器模块(如 Apache 的 libphp.so 或 Nginx 的 FastCGI 配置),它们不会随 PHP 包自动卸载,得手动注释或删除对应配置行,否则重启服务时可能报错。

理论要掌握,实操不能落!以上关于《Linux彻底卸载PHP及依赖教程》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>