从 PHP 7.2 升级到 PHP 7.3


作者: 我不是鱼 (2018-12-23 17:21) 分类: PHP   标签: PHP 7.3

PHP 7.3.0 版本在经过数个 Alpha,beta 和 rc 版本之后在2018年12月6日终于正式发布。其实早在12月4日 PHP 就已经把 7.3 的安装文件打包好上传了,只是在12月6日发公告。我也是第一时间升级了服务器的PHP,只是现在才有时间记录下。

当前服务器环境 CentOS 7.4

[root@lnmp lnmp.cn]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core) 

当前 PHP 版本 7.2.12

[root@lnmp lnmp.cn]# php -v

PHP 7.2.12 (cli) (built: Nov 9 2018 02:47:30) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies


类似升级工作做过不少,每次其实都没有太多不同的地方。但每次都不会很顺序,总会遇到一些这样那样的问题,这次也不例外。

首先下载 php-7.3.0

[root@lnmp lnmp.cn]# cd /usr/local/src
[root@lnmp src]# wget -c http://cn2.php.net/distributions/php-7.3.0.tar.gz

解压并进入解压目录

[root@lnmp src]# tar -zxvf php-7.3.0.tar.gz
[root@lnmp src]# cd php-7.3.0/

首先找到 php-7.2 安装时的 configure

[root@lnmp php-7.3.0]# /usr/local/php-7.2.12/bin/php-config --configure-options
--prefix=/usr/local/php-7.2.12 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-pdo-mysql --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-ftp --enable-zip


除了安装目录外,php-7.3 将沿用 php-7.2  相同的 configure

[root@lnmp php-7.3.0]# ./configure --prefix=/usr/local/php-7.3.0 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-pdo-mysql --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-ftp --enable-zip

不出意外,果真出现错误

checking for pkg-config... (cached) /bin/pkg-config
checking for libzip... not found
configure: error: Please reinstall the libzip distribution

看错误信息提示重装 libzip,那就重装吧

[root@lnmp php-7.3.0]# yum install libzip-devel

最后提示

Installed:
  libzip-devel.x86_64 0:0.10.1-8.el7

Dependency Installed:
  libzip.x86_64 0:0.10.1-8.el7

安装的版本是 0.10.1

重复上一步的 configure

[root@lnmp php-7.3.0]# ./configure --prefix=/usr/local/php-7.3.0 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-pdo-mysql --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-ftp --enable-zip

原本以为会顺利通过,不料又出现这个错误

checking for the location of zlib... /usr
checking for pkg-config... (cached) /bin/pkg-config
checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11

看来是版本问题,需要安装 libzip 0.11 版本或更新,yum 安装的版本还是 0.10

libzip 的最新版本可以到这里下载源码进行编译 https://libzip.org/

这里不做编译,更新一个有 libzip 0.11 yum 源

[root@localhost php-7.3.0]# rpm -ivh http://packages.psychotic.ninja/7/base/x86_64/RPMS/psychotic-release-1.0.0-1.el7.psychotic.noarch.rpm

然后指定这个源进行安装

[root@localhost php-7.3.0]# yum install --enablerepo=psychotic-plus libzip-devel

终于 libzip-devel 0.11 版本安装好

Updated:
  libzip-devel.x86_64 0:0.11.2-6.el7.psychotic

Dependency Updated:
  libzip.x86_64 0:0.11.2-6.el7.psychotic


再重复之前的 configure

[root@lnmp php-7.3.0]# ./configure --prefix=/usr/local/php-7.3.0 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-pdo-mysql --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-ftp --enable-zip

这次终于成功了

Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

 

到此,后面的工作和之前做升级工作就没有差别了,这里不再累述,具体请参考:http://www.lnmp.cn/upgrade-php-to-7.2-from-php7.html 请注意目录是当前php-7.3.0的安装目录

最后

[root@localhost php-7.3.0]# php -v

PHP 7.3.0 (cli) (built: Dec  6 2018 00:44:08) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies


前一篇: Laravel 结合数据库做PHP单元测试,并且 migrate 和 seed 只做一次
后一篇: CentOS 和 macOS 下安装 PHP 7 的 tidy 扩展


添加评论

昵称:


验证码