为什么卸载Apache2尝试安装PHP5-CGI?

正如你从下面的屏幕截图(我强调了相关的部分)中看到的,当我尝试从我的Ubuntu服务器上卸载Apache时,它想要安装PHP5-CGI。 为什么会发生? 我是否需要使用其他命令来卸载它?

控制台截图

我的猜测是因为另一个软件包有php作为依赖。

但是libapache2-mod-php5满足这个依赖关系,但是当你删除apache的时候,libapache2-mod-php5将apache作为一个依赖项,所以它不能保持安装。 因此,适用于满足php的依赖关系的下一行,这似乎是php5-cgi

但是,您可以通过运行确定:

 apt-cache rdepends --installed php5-cgi 

现在也跑:

 apt-cache rdepends --installed libapache2-mod-php5 

这应该显示你现在什么取决于该包。

这可能是wordpress或类似的东西,这将是我的猜测。

 apt-cache show wordpress Depends: apache2 | httpd, libapache2-mod-php5 | php5, ca-certificates, mysql-client | mariadb-client, php5-gd, php5-mysql | php5-mysqlnd, libjs-cropper (>= 1.2.2), libjs-mediaelement (>= 2.15.1+dfsg), libphp-phpmailer (>= 5.2.10+dfsg), php-getid3 (>= 1.9.9+dfsg) 

然后,我假设php5本身,第二个选项,是一个元包,所以我检查它的依赖关系:

 apt-cache show php5 Depends: libapache2-mod-php5 (>= 5.6.14+dfsg-1~) | libapache2-mod-php5filter (>= 5.6.14+dfsg-1~) | php5-cgi (>= 5.6.14+dfsg-1~) | php5-fpm (>= 5.6.14+dfsg-1~), php5-common (>= 5.6.14+dfsg-1~) ## or if you prefer apt-cache depends php5 php5 |Depends: libapache2-mod-php5 |Depends: libapache2-mod-php5filter |Depends: php5-cgi Depends: php5-fpm 

我发现apt-cache show输出虽然更容易阅读,因为更容易看到每个依赖项的一组选项。

正如你所看到的,如果我们以wordpress为例,它具有libapache2-mod-php5或者php5的依赖关系,而php5又依赖于libapache2-mod-php5或者libapache2-mod-php5filter或者php5-cgi或者php5-fpm,所以它看起来像所有apt正在做的事情是在列表中,并且由于您正在删除第一个依赖项,它会去php5,检查,并再次,您删除第一个选项,第二个,libapache2- mod-php5filter,也有apache作为依赖项,但是你在这个操作中删除apache2,所以它到php5-cgi,它不依赖于apache,并且你有它。

或类似的东西。