You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu18.04用ppa:ondrej/php装php7.3-fpm后apt升级如何避免装apache2

解决方案

方法1:标记不需要的包为禁止安装状态

通过apt-mark的hold参数可以让apt在升级时跳过对应包的安装/升级:

  • 执行以下命令标记apache2-bin和php8.0核心包为hold状态:
sudo apt-mark hold apache2-bin php8.0-common

标记php8.0-common后,所有php8.0相关的子包都会因为核心依赖无法安装而被自动跳过。

方法2:升级时禁用推荐/建议包安装

默认apt会自动安装软件的推荐依赖包,apache2-bin通常就是作为PHP包的推荐依赖被带入的,升级时添加参数跳过即可:

  • 执行带过滤参数的升级命令:
sudo apt upgrade --no-install-recommends --no-install-suggests

方法3:固定PHP7.3版本防止跨版本升级

如果只需要维护PHP7.3的安全更新,不需要升级到更高PHP版本,可以直接锁定所有已安装的PHP7.3相关包的版本:

  • 先列出所有已安装的PHP7.3包:
dpkg -l | grep php7.3 | awk '{print $2}'
  • 批量标记所有PHP7.3包为hold状态:
sudo apt-mark hold $(dpkg -l | grep php7.3 | awk '{print $2}')
  • 后续只需要针对PHP7.3做升级即可,不会触发跨版本升级:
sudo apt install --only-upgrade php7.3*

如果后续需要安装php8.0或者更新apache相关组件,执行sudo apt-mark unhold 对应包名取消hold状态即可正常操作。

问题成因说明

ondrej/php PPA会持续迭代更新不同PHP版本的安装包,其维护的PHP元包依赖默认会指向最新的稳定PHP版本,同时部分PHP扩展包的推荐依赖包含apache2-bin,系统默认开启推荐包安装的情况下,执行全局升级就会触发安装你不需要的这两个软件包。


内容的提问来源于stack exchange,提问作者pythonimus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:45:04