我需要使用php5(5.6),因为我正在研究不支持php7的Drupal 7项目。问题是我最近更新到了ubuntu 16.04 Xenial,它似乎不再支持php5。

我尝试从此存储库安装它,但是当它尝试使用apt安装时,我总是遇到类似的错误。

$ sudo apt-get install php5-cli
Cependant les paquets suivants le remplacent :
  php7.0-cli:i386 php7.0-cli`


哪个表示已过时。如何在Xenial上安装PHP 5.6?

#1 楼

删除所有库存的php软件包

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

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


如果得到add-apt-repository: command not found,请首先运行以下命令:

sudo add-apt-repository ppa:ondrej/php


安装您的PHP版本

sudo apt-get install software-properties-common


您也可以安装php5.6模块,例如

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


验证您的版本

如果已安装php5.6-cli

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml


如果您没有php5.6-cli,请将其放在.php文件中

sudo php -v


评论


如何安装PEAR? apt没有显示php5-pear软件包,并且尝试安装php-pear并重新安装了php7。

– Graham Wheeler
16年4月30日在23:32

@GrahamWheeler php-pear只需CLI PHP 7.0(php7.0-cli),那是无害的

– oerdnj
16年5月12日在19:05

小nitpick。您可以通过awk避免使用grep和tr,例如dpkg -l | awk'/ php / {printf“%s”,$ 2;}'

–Olaf Dietsche
16年6月16日在8:19

我收到错误消息:“ add-apt-repository:找不到命令”

–魏京杰
16年7月20日在2:13

糟糕,没关系-我没有添加mongodb-org存储库密钥,因此我的apt-get更新在mongodb-org上失败了,而没有更新ondrej / php / ubuntu。我认为这是一个嘈杂的警告,而不是导致更新停止的严重故障。添加mongodb-org密钥后,apt-get更新完成,我的apt-get安装php5.6-mysql获取正确的版本5.6.29。一切都很好。

–́Neek
16 Dec 11'在12:22

#2 楼

运行以下命令:

$ 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


评论


如果需要运行此非交互式,请在所有命令中添加-y

–rubo77
19年11月26日在21:03

这不再有效! PPA不存在!

–GTodorov
20-11-02在6:07

#3 楼

您甚至可以考虑使用无业游民(或类似技术)来协助同时使用两个版本。 Vagrant本质上是一个VM客户端,旨在通过基于项目的配置帮助快速轻松地旋转VM。也就是说,您可以为项目专门配置一个VM,并且如果需要,每个项目中的每个VM可以不同。

这意味着您可以使用相同的生产配置来开发项目并在本地计算机上对其进行测试因为该项目将在其下运行。这不仅对自己有好处,而且意味着开发人员团队可以始终在虚拟机配置可移植和跨平台(只是文本文件)的相同环境下进行测试。

流浪汉和虚拟盒安装完毕后,就可以轻松运行:

vagrant init ubuntu/trusty64; vagrant up --provider virtualbox

虚拟机启动并运行后,您可以使用:

vagrant ssh


,您现在可以手动安装apache,php和mysql。您还可以定义配置配置,以便在输入时:

vagrant up


VM会自行构建并安装所需的所有二进制文件,甚至可以执行git代码的克隆,设置网络,以便您可以在浏览器中查看该应用程序等。

有关更多详细信息,请参见:https://www.vagrantup.com/docs/getting-started/

评论


这不是很实际。我可以只安装php5.6-fpm和php7.0-fpm,然后将fastcgi_pass传递到运行所需PHP版本的套接字(我正在使用nginx,但我认为apache2必须具有类似的东西)。它将更加轻巧。

–全权
16/12/26在4:22

我认为docker更适合..不过,这是个好主意。

–风暴
16 Dec 27'在10:01

#4 楼

您可以使用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