包 php5 没有安装候选 (Ubuntu 16.04)

Package php5 have no installation candidate (Ubuntu 16.04)

当我尝试使用以下代码在 Ubuntu 16.04 中安装 php5 时:

sudo apt-get install php5 php5-mcrypt

我收到以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php5' has no installation candidate

我试过重新安装,但没有用。

所有这些错误都是在我将 15.10 Ubuntu 更新到 16.04

后遇到的

Ubuntu 16.04标配PHP7,所以没有PHP5包

然而,如果你愿意,你可以添加一个 PPA 来获取这些包:

删除所有库存php 包裹

使用 dpkg -l | grep php| awk '{print }' |tr "\n" " " 列出已安装的 php 包,然后使用 sudo aptitude purge your_packages_here 删除不需要的包,或者如果您想直接删除它们,请使用:

sudo aptitude purge `dpkg -l | grep php| awk '{print }' |tr "\n" " "`

添加 PPA

sudo add-apt-repository ppa:ondrej/php

安装您的 PHP 版本

sudo apt-get update
sudo apt-get install php5.6

你也可以安装 php5.6 模块..

验证您的版本

sudo php -v

基于https://askubuntu.com/a/756186/532957(感谢@AhmedJerbi)

在 ubuntu 14.04 及更早版本中,您必须使用前缀 "php5.6-" 而不是 "php5-":

sudo apt-get install php5.6 php5.6-mcrypt

如果你只想安装PHP不管是什么版本,试试PHP7

sudo apt-get install php7.0 php7.0-mcrypt

目前,我正在使用 Ubuntu 16.04 LTS。 我在使用 Php 获取 Postgress 数据库值时也遇到了同样的问题,所以我使用以下命令解决了它。

我的 PHP 版本是 7.0,所以我尝试了下面的命令。

apt-get install php-pgsql

记得重启 Apache

/etc/init.d/apache2 restart
sudo apt-get install php7.0-mysql

for php7.0 很适合我

我最近也遇到了这个问题,并使用以下命令解决了它:

sudo apt install php7.2-cli

php 现已安装。我正在使用 Ubuntu 18.04.

这对我有用。

sudo apt-get update
sudo apt-get install lamp-server^ -y

;)