Ubuntu 16.04 切换 PHP 版本

背景

升级 Ubuntu 16.04 都一年了,新版的仓库自带的 PHP 是 7+;而今天突然要对某个老项目进行维护,发现 PHP 版本太高,某些函数已经被取消了;所以查了一下怎么快捷的切换 PHP 版本,这里做个笔记。

详细步骤

安装 PHP 5.6

默认情况下,安装的 PHP 是 7+, 使用 sudo apt install php5 再按 Tab 键是没有任何提示的,因为仓库里没有低版本的 PHP,所以第一步是安装一个低版本的 PHP


# 查看已经安装的 PHP 包

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

# 添加 PHP PPA

sudo add-apt-repository ppa:ondrej/php

# 更新缓存

sudo apt-get update

# 安装 PHP5.6

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

参考:How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04

参考:Installing PHP 5.6 on Xenial (16.04)

切换版本

一般情况下,只需要切换两处的版本 CGICLI 分别用于 Apache 等服务器和命令行

PHP 7 ->5


# 禁用 Apache 中的 PHP7

sudo a2dismod php7

# 启用 PHP5.6

sudo a2enmod php5.6

# 重启 Apache

sudo systemctl restart apache2.service



# 切换 CLI 

sudo update-alternatives --set php /usr/bin/php5.6

PHP 5 ->7


# 禁用 Apache 中的 PHP5

sudo a2dismod php5.6

# 启用 PHP7

sudo a2enmod php7

# 重启 Apache

sudo systemctl restart apache2.service



# 切换 CLI 

sudo update-alternatives --set php /usr/bin/php7.0
206 声望
1 粉丝
0 条评论
推荐阅读
macOS Mojave 安装 PHP OCI8/PDO_OCI
前面和网上说的都差不多(和 Linux 编译安装类似),去 Oracle 下载如下的安装包(可以选择版本,我这里选择的是 12.2) instantclient-basic-macos.x64-12.2.0.1.0-2.zip instantclient-sdk-macos.x64-12.2.0.1....

hefengxian阅读 3k

怎样用 PHP 来实现枚举?
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,...

唯一丶25阅读 6.4k评论 4

PHP转Go实践:xjson解析神器「开源工具集」
我和劲仔都是PHP转Go,身边越来越多做PHP的朋友也逐渐在用Go进行重构,重构过程中,会发现php的json解析操作(系列化与反序列化)是真的香,弱类型语言的各种隐式类型转换,很大程度的减低了程序的复杂度。

王中阳Go10阅读 2.1k评论 3

封面图
图片防盗链破解 解决图片防盗链问题 反向代理
当客户端(浏览器)向服务器请求内容的时候,会提交一个header,这个header中包含了如:浏览器信息、cookie等内容,那么有一个叫referer的东东,也包含在这里面。

TANKING7阅读 11.3k评论 5

Git操作不规范,战友提刀来相见!
年终奖都没了,还要扣我绩效,门都没有,哈哈。这波骚Git操作我也是第一次用,担心闪了腰,所以不仅做了备份,也做了笔记,分享给大家。问题描述小A和我在同时开发一个功能模块,他在优化之前的代码逻辑,我在开...

王中阳Go5阅读 2.3k评论 2

封面图
Bash 常用脚本片段
这段脚本非常有用,你只要在你的脚本开头加上下面的内容,就能以 --param value 的格式解析参数。由于这段脚本尽可能写的短小不占空间,所以格式方面会要求所有的参数都有值,例如不接受无参数的 --daemon,而必...

捏造的信仰5阅读 1.7k评论 1

工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

206 声望
1 粉丝
宣传栏