我应该安装它们两个和它们的两个模块吗?
apt-cache depends php
php
Depends: php7.2
php cli 有两个包:
apt-cache policy php7.2-cli
php7.2-cli:
Installed: (none)
Candidate: 7.2.7-0ubuntu0.18.04.2
Version table:
7.2.7-0ubuntu0.18.04.2 500
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
7.2.3-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
下一个:
apt-cache policy php-cli
php-cli:
Installed: (none)
Candidate: 1:7.2+60ubuntu1
Version table:
1:7.2+60ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu bionic/main i386 Packages
答案1
php
是元包。它不包含任何软件,而只是通过其依赖项链接到“正确”的包。
从apt show php
:
此包是依赖包,它依赖于 Debian 的默认 PHP 版本(目前为 7.0)。
(7.0,因为我用的是 16.04)
php
因此,是否安装或由您决定php7.2
。但请注意:随着下一个版本升级,php
可能会升级到下一个版本,而使用php7.2
,版本是固定的,这可能会导致升级后出现一些问题。
为了普通用户®建议安装元包。
还有依赖于多个其他包的元包,因此您可以仅使用一个元包来安装整个软件包,例如unity-desktop
。
从帮助中心:
apt(Ubuntu 使用的打包系统)的一个方便的功能是使用元包。这些包不包含实际的软件,它们只是依赖于要安装的其他包。此设置允许通过仅选择适当的元包来安装整套软件
链接:
- Ubuntu 帮助:元包
- 相关问题:元包和包之间有什么区别?
答案2
这些php-*
包是依赖于相应php7.2-*
包的元包,后者提供实际的 PHP 软件。
这些元软件包的目的是使升级更加顺畅:当您升级到提供 PHP 7.3 的较新 Ubuntu 版本时,软件包php-*
将升级到较新版本,这当然取决于新php7.3-*
软件包。因此,新php7.3-*
软件包将自动安装,旧php7.2-*
软件包将被标记为不再使用(并使用 删除apt autoremove
)。
如果您只安装这些php7.2-*
软件包,它们现在可以正常工作,但稍后您将需要手动安装较新 PHP 版本的软件包,因此,建议安装这些php-*
软件包。