文档章节

Centos7下升级PHP7.0.16至7.2.4

 云逸清风
发布于 07/09 18:14
字数 701
阅读 0
收藏 0

查看现在PHP的版本

$ php -v
PHP 7.0.16 (cli) (built: Mar  8 2017 17:54:51) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.7, Copyright (c) 2002-2016, by ionCube Ltd.
    with Zend OPcache v7.0.16, Copyright (c) 1999-2017, by Zend Technologies

下载并安装最新版PHP7.2.4:

查看PHP最新版本,目前最新稳定版是2018年3月29日发布的PHP 7.2.4:官网下载

Current Stable PHP 7.2.4 (Changelog)
php-7.2.4.tar.bz2 (sig) [14,273Kb] 29 Mar 2018
php-7.2.4.tar.gz (sig) [17,876Kb] 29 Mar 2018
php-7.2.4.tar.xz (sig) [11,750Kb] 29 Mar 2018

我们选择下载最小的一个格式的“PHP-7.2.4.tar.xz”:

使用  wget 命令下载文件,再使用  xz 命令解压称  .tar 格式的文件,再使用  tar 命令解压。

$ cd /usr/local/
$ wget http://am1.php.net/get/php-7.2.4.tar.xz/from/this/mirror php-7.2.4.tar.xz 
$ xz -d php-7.2.4.tar.xz 
$ tar -xvf php-7.2.4.tar 

查看上个安装版本的配置

$ php -i | grep configure
Configure Command =>   './configure' '--prefix=/usr/local/php7.2.4' '--with-config-file-path=/usr/local/php7.2.4/etc' '--with-config-file-scan-dir=/usr/local/php7.2.4/etc/php.d' '--with-apxs2=/usr/local/apache/bin/apxs' '--enable-opcache' '--disable-fileinfo' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir=/usr/local' '--with-iconv=/usr/local/libiconv' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-exif' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl=/usr/local' '--enable-mbregex' '--enable-mbstring' '--with-mcrypt' '--with-gd' '--enable-gd-native-ttf' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-ftp' '--enable-intl' '--with-xsl' '--with-gettext' '--enable-zip' '--enable-soap' '--disable-debug'

格式一下命令,之前使用反斜线(\)执行的命令,显示成了单引号,再将单引号转换成反斜线,在新版本根目录执行配置编译。具体配置命令如下:

./configure --prefix = / usr / local / php7.2.4 \
 --with-config-file-path = / usr / local / php7.2.4 / etc \
 --with-config-file-scan-dir = / usr / local / php7.2.4 / etc / php.d \
 --with-apxs2 = / usr / local / apache / bin / apxs \
 - 启用opcache \
 --disable-fileinfo \
 --enable-mysqlnd \
 --with-mysqli = mysqlnd \
 --with-pdo-mysql = mysqlnd \
 --with-iconv-dir = / usr / local \
 --with-freetype-dir \
 --with-jpeg-dir \
 --with-png-dir \
 --with-zlib \
 --with-libxml-dir = / usr \
 --enable-xml \
 --disable-rpath \
 --enable-bcmath \
 - 启用shmop \
 --enable-exif \
 --enable-sysvsem \
 - 启用内联优化
 --with-curl = / usr / local \
 --enable-mbregex \
 --enable-mbstring \
 --with-mcrypt \
 --with-gd \
 --enable-gd-native-ttf \
 --with-openssl \
 --with-mhash \
 --enable-pcntl \
 - 启用套接字
 --with-xmlrpc \
 --enable-ftp \
 --enable-intl \
 --with-xsl \
 --with-gettext \
 - 支持拉链
 - 启用肥皂
 - 禁用调试

稍等一会,等配置执行完毕后,再接着编译和安装命令,执行:

$ make 
$ make install

这个过程非常耗时,需要耐心等待。

这里会报一个错误:

collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

报错提示缺少libiconv的这个库,缺啥就装啥。

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar xf libiconv-1.15.tar.gz
cd libiconv-1.15/
./configure --prefix=/usr/local/libiconv
make && make install

安装完后需要在配置时加入

--with-iconv=/usr/local/libiconv \

参数,然后再次编译就不会报错了。

使用全路径查看PHP版本:

$ /usr/local/php7.2.4/bin/php -v
PHP 7.2.4 (cli) (built: Apr 8 2018 14:33:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

修改环境变量,改为新版本路径,然后需要重启服务器。

$ vim /etc/profile

现在  php -v 就可以看到新版本了。

© 著作权归作者所有

云逸清风

粉丝 0
博文 18
码字总数 7965
作品 0
海淀
技术主管
私信 提问
Ubuntu php 7.0 升级到7.2

直接命令升级 add-apt-repository ppa:ondrej/php $ apt-get update $ apt-get upgrade php 升级后安装对应的扩展 apt-get install php-mbstring apt-get install php-gd apt-get install ph......

daos
2018/04/17
0
0
Centos 安装指定版本的docker

Centos 安装指定版本的docker 老王2017-11-192 阅读 安装docker版本CentOS 一、添加Docker源 二、更新源和升级系统 三、卸载旧版本Docker 四、列出所有版本 五、安装指定版本 点赞 安装docke...

老王
2017/11/19
0
0
到底什么方法才能正确升级git

用的是centos7 升级方法应该是没有问题的,但是升级后查看版本还是以前的,让人扼腕!

ziluopao
前天
149
3
Angular 7.2.4 和 8.0.0-beta.3 发布,Web 前端框架

Angular 7.2.4 和 8.0.0-beta.3 发布了。Angular 是一款十分流行且好用的 Web 前端框架,与 React 和 Vue 并称前端三大框架,目前由 Google 维护。 更新内容如下: 8.0.0-beta.3 (2019-02-06...

段段段落
02/07
620
1
centos 各个版本安装docker

主要为centos6.x和centos7.x的区别: 对于CentOS7: CentOS7 系统 CentOS-Extras 库中已带 Docker,可以直接安装: yum install docker 对于CentOS6.x,有时候其它源的版本可能会导致你的内核...

MrPei
2018/07/27
15
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部