前言,这是一个挺糟心的事儿,作者升级这玩意儿也是因为公司搞了个漏洞扫描说版本低,所以要升级解决,结果踩了一堆的坑,我心说你个内网服务器搞这形式主义有什么用?算了牢骚到此为止,下边上干货
一、准备工作(各种库)
安装依赖
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-de libicu-devel gcc-c++ openldap openldap-devel glibc-headers gdbm-devel
先删除旧版本libzip
yum remove -y libzip
下载编译安装
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install
cp -frp /usr/lib64/libldap* /usr/lib/
cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
二、官网下载并编译安装
cd /source
wget https://www.php.net/distributions/php-7.3.8.tar.gz
tar xzvf php-7.3.8.tar.gz
cd php-7.3.8
编辑校验需要注意以下几点
–prefix= 是程序安装路径
–with-config-file-path= 是php.ini 即php配置文件路径
–with-fpm-user=nginx --with-fpm-group=nginx 是php程序的所属用户和组
./configure --prefix=/opt/php --with-config-file-path=/etc --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --with-ldap=shared --with-gdbm --with-pear --with-gettext --with-curl --with-xmlrpc --with-openssl --with-mhash --with-gd --enable-fpm --enable-mysqlnd --enable-mysqlnd-compression-support --enable-xml --enable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-intl --enable-ftp --enable-pcntl --enable-sockets --enable-zip --enable-soap --enable-fileinfo --enable-opcache --enable-maintainer-zts --without-pear --disable-phar
**注意,校验时可能会出现相当多种的错误,文末处附录有我所碰到的。**如果本文没有解决方案,可访问某大佬的文章:https://www.php.cn/php-weizijiaocheng-414091.html
make && make install
编译安装成功后