文档章节

Centos7下升级PHP7.0.16至7.2.4

 云逸清风
发布于 07/09 18:14
字数 701
阅读 22
收藏 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
博文 29
码字总数 8432
作品 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
08/21
217
5
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
628
1
centos 各个版本安装docker

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

MrPei
2018/07/27
19
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
6
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
8
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
5
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部