前言
最近在编写一个工具的时候,使用了PHP命名空间特性,在命名空间中如果想引用常量、函数,需要PHP5.6以上的版本,但我阿里云 ECS 上安装的版本是PHP 5.5.9,由于 ECS 部署了很多PHP代码,如果贸然升级高版本PHP,可能会存在一些兼容性的问题。突然奇想,在同一个操作系统中,是否能够同时支持两个版本的PHP呢?
简单查阅了相关资料,其实在 Ubuntu 中使用包安装方式支持PHP双版本非常简单,两个版本存在能够互不干扰,接下去简单做下介绍,其实相关文章很多。
1:获取PHP7源
我的操作系统版本是 Ubuntu 14.04.5 LTS,默认的PHP源是 5.5.9 版本,可以使用下列的命令确认:
$ apt show php
为了获取各个版本的PHP源,
在 Ubuntu 官方的 PPA 包含了很多软件的源,为了支持 PPA 包,可以采用 add-apt-repository 命令行安装,如果该工具没安装,可以运行下列命令安装:
$ apt install python-software-properties
简单理解下 add-apt-repository 工具,该工具的作用如下:
Adds a repository into the /etc/apt/sources.list or /etc/apt/sources.list.d or removes an existing one
也就是说无需你手动修改 /etc/apt/sources.list,就能够通过该工具添加源。
为了支持多版本的 PHP 的源,运行如下命令:
$ add-apt-repository ppa:ondrej/php
运行完成后,实际上 /etc/apt/sources.list.d/ondrej-php-trusty.list 文件更新了。
2:更新系统
添加源后,需要运行下列命令更新系统,然后再安装各个 PHP 版本。
$ apt-get update -y
3:安装PHP7.1
接下去看看目前有多少个PHP版本可以安装。
$ apt-cache pkgnames | grep php7
关键输出如下:
php7.0-fpm
php7.1-fpm
php7.2-fpm
libapache2-mod-php7.0
libapache2-mod-php7.1
libapache2-mod-php7.2
也就是支持两种 SAPI,我主要使用 Nginx+FPM 的方式,也可以看出目前支持三个版本的PHP7。
我主要想使用命令行 PHP7 版本,顺带也想着把 FPM 安装上,运行如下命令了解详细信息:
$ apt-cache depends php7.1-fpm Depends: php7.1-cli Depends: php7.1-common Depends: php7.1-json Depends: php7.1-opcache
可见 php7.1-fpm 也包含了命令行PHP(php7.1-cli),接下去安装:
$ apt-get install php7.1-fpm php7.1-curl
3:观察安装后的文件
运行如下命令,观察 php7.1-fpm 安装了哪些文件。
$ dpkg -L php7.1-fpm
关键输出如下:
/usr/sbin/php-fpm7.1
/etc/php/7.1/fpm/php-fpm.conf
/etc/apache2/conf-available/php7.1-fpm.conf
可以看出,你可以运行一个 PHP7 版本的 FPM 服务,和 /etc/php5/fpm/php-fpm.conf 使用的配置文件是互相隔离的,我的网站 www.simplehttps.com 和 blog.simplehttps.com 就使用了两个版本的 FPM。
接下去查看 php7.1-cli 安装了哪些文件,这是我最关心的。
$ dpkg -L php7.1-cli
关键输出如下:
/usr/bin/php7.1
4:如何切换两个PHP版本
对于命令行来说,两个版本的地址如下:
/usr/bin/php7.1
/usr/bin/php5
难道运行不同版本的时候,使用完整路径?其实可以使用 update-alternatives 工具配置默认项运行的 PHP 版本。
$ update-alternatives --set php /usr/bin/php7.1
这样运行 php -v 就相当于运行 /usr/bin/php7.1 -v,如果想使用PHP5版本,可以运行下列命令切换:
$ update-alternatives --set php /usr/bin/php5
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]