在 Xenial (16.04) 上安装 PHP 5.6

Nik*_*lai 158 php apt drupal php7

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

我试图从这个 repo安装它,但是当它尝试用 apt 安装它时,我总是遇到类似的错误。

$ sudo apt-get install php5-cli
Cependant les paquets suivants le remplacent :
  php7.0-cli:i386 php7.0-cli`
Run Code Online (Sandbox Code Playgroud)

这意味着它已经过时了。如何在 Xenial 上安装 PHP 5.6?

sto*_*orm 256

删除所有库存 php 包

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

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Run Code Online (Sandbox Code Playgroud)

添加 PPA

sudo add-apt-repository ppa:ondrej/php
Run Code Online (Sandbox Code Playgroud)

如果您add-apt-repository: command not found先运行以下命令:

sudo apt-get install software-properties-common
Run Code Online (Sandbox Code Playgroud)

安装您的 PHP 版本

sudo apt-get update
sudo apt-get install php5.6
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
Run Code Online (Sandbox Code Playgroud)

验证您的版本

如果你已经安装 php5.6-cli

sudo php -v
Run Code Online (Sandbox Code Playgroud)

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

<?php 
      //outputs php configuration info
      phpinfo(); 
?>
Run Code Online (Sandbox Code Playgroud)

  • 小吹毛求疵。你已经可以通过 awk 避免 grep 和 tr,例如`dpkg -l | awk '/php/ {printf "%s ", $2;}'` (2认同)

小智 14

运行以下命令:

$ 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
Run Code Online (Sandbox Code Playgroud)

检查您的 PHP 版本

php -v
Run Code Online (Sandbox Code Playgroud)


Gar*_*key 7

您甚至可以考虑使用 vagrant(或类似技术)来帮助同时使用两个版本。Vagrant 本质上是一个 VM 客户端,旨在通过基于项目的配置帮助快速、轻松地启动和关闭 VM;即您可以专门为一个项目配置一个虚拟机,如果需要,每个项目的每个虚拟机可以不同。

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

安装 vagrant 和 virtual box 后,就像运行一样简单:

vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
Run Code Online (Sandbox Code Playgroud)

一旦虚拟机启动并运行,您就可以使用:

vagrant ssh
Run Code Online (Sandbox Code Playgroud)

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

vagrant up
Run Code Online (Sandbox Code Playgroud)

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

有关更多详细信息,请查看此处:https : //www.vagrantup.com/docs/getting-started/