软件包php5没有安装候选(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 $2}' |tr "\n" " "列出已安装的php软件包 dpkg -l | grep php| awk '{print $2}' |tr "\n" " " dpkg -l | grep php| awk '{print $2}' |tr "\n" " "然后使用sudo aptitude清除your_packages_here中的不需要的软件包,或者直接将其全部删除:

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

添加PPA

 sudo add-apt-repository ppa:ondrej/php 

安装你的PHP版本

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

你也可以安装php5.6模块

validation你的版本

 sudo php -v 

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

你必须使用前缀“php5.6-”而不是“php5-”,如在Ubuntu 14.04和老年人:

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

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

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

对于php7.0适合我

目前,我正在使用Ubuntu 16.04 LTS。 我也面临着同样的问题,同时使用PHP获取Postgress数据库值,所以我解决了它通过使用下面的命令。

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

apt-get install php-pgsql

记得重新启动Apache

 /etc/init.d/apache2 restart