问题描述
我需要使用php5(5.6),因为我正在开发一个不支持php7的Drupal 7项目。问题是我最近更新到了似乎为no longer support php5的Ubuntu 16.04 Xenial。
我试图从this repo安装它,但是当它试图用apt安装它时,我总是得到类似的错误。
$ sudo apt-get install php5-cli
Cependant les paquets suivants le remplacent :
php7.0-cli:i386 php7.0-cli`
这意味着它已经过时了。我如何在Xenial上安装PHP 5.6?
最佳解决方案
删除所有的股票PHP包
使用dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
列出已安装的php软件包,然后使用sudo aptitude purge your_packages_here
删除不需要的软件包,或者如果要直接将它们全部删除,请使用:
sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
添加PPA
sudo add-apt-repository ppa:ondrej/php
如果您获得add-apt-repository: command not found
,请首先运行以下命令:
sudo apt-get install software-properties-common
安装你的PHP版本
sudo apt-get update
sudo apt-get install php5.6
例如,您也可以安装php5.6模块
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
验证你的版本
如果您已安装php5.6-cli
sudo php -v
如果您没有php5.6-cli
,请将其放在.php文件中
<?php
//outputs php configuration info
phpinfo();
?>
次佳解决方案
运行以下命令:
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6
检查你的PHP版本
php -v
第三种解决方案
您甚至可以考虑使用流浪者(或类似技术)协助同时使用这两个版本。 Vagrant本质上是一个虚拟机客户端,旨在通过基于项目的配置来快速轻松地启用和停止虚拟机;即您可以专门为某个项目配置虚拟机,并且如果需要,每个项目可能会有不同的虚拟机。
这意味着您可以开发一个项目并在本地机器上使用与项目运行时相同的生产配置进行测试。这不仅对你自己非常有用,而且意味着一组开发人员总是可以在VM配置是可移植的和cross-platform(它只是一个文本文件)的情况下进行测试。
一旦安装了流浪和虚拟盒子,就像运行一样简单:
vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
一旦vm启动并运行,您可以使用:
vagrant ssh
你现在可以手动安装apache,php和mysql。您还可以定义供应配置,以便在输入时:
vagrant up
虚拟机会自行构建并安装您需要的所有二进制文件,甚至可以执行代码的git克隆,设置网络,以便您可以在浏览器中查看应用程序等。
有关更多详细信息,请看这里:https://www.vagrantup.com/docs/getting-started/
第四种方案
您可以使用XAMPP Linux。您可以从下面提到的官方xampp站点下载任何版本的xampp linux。
https://www.apachefriends.org/download.html
使用终端输入下载的文件位置。
首先给予下载的二进制文件一定的权限。 (假设我下载了64位二进制包。)
sudo chmod a+x xampp-linux-x64-5.6.23-0-installer.run
然后安装xampp
sudo ./xampp-linux-x64-5.6.23-0-installer.run
如果你是下载32位二进制文件做下面这样提到的
sudo chmod a+x xampp-linux-5.6.23-0-installer.run
sudo ./xampp-linux-5.6.23-0-installer.run