问题描述
当我尝试使用以下代码在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软件包,然后使用sudo aptitude purge 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模块..
验证您的版本
sudo php -v
基于https://askubuntu.com/a/756186/532957(感谢@AhmedJerbi)
次佳方案
您必须使用前缀”php5.6-“而不是ubuntu 14.04及更低版本中的”php5-“:
sudo apt-get install php5.6 php5.6-mcrypt
第三种方案
如果无论版本是什么,只要安装PHP,请尝试使用PHP7
sudo apt-get install php7.0 php7.0-mcrypt
第四种方案
sudo apt-get install php7.0-mysql
对于php7.0对我来说效果很好