PHP 编译添加zip支持

系统环境

Linux codelinux 3.10.0-1127.19.1.el7.x86_64
CentOS Linux release 7.6.1810 (Core)

PHP 7.4.15 (cli) (built: Feb 26 2021 09:46:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

PHP 编译命令

./configure \
--prefix=/data/server/php \
--enable-fpm  \
--with-fpm-user=php \
--with-fpm-group=php \
--with-pdo-mysql \
--with-mysqli \
--with-zip

报错信息

根据提示 libzip 的版本有要求,使用 yum 安装的最新版本是 0.10.1

手动下载编译安装

wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0/
mkdir -p /data/server/libzip-1.2.0/
ln -s /data/server/libzip-1.2.0/ libzip
./configure --prefix=/data/server/libzip/ # 注意这不是默认的安装路径
make && make install

上面的 --prefix 指定了安装路径,不是默认的

PHP ./configure 安装的时候,会去默认的路径查询,就导致上面的出错信息

解决

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/data/server/libzip/lib/pkgconfig

在编译的的SHELL脚本里面添加这句,然后就可以安装了

注意

PKG_CONFIG_PATH 环境变量的配置路径,要配置到 pakconfig 目录
这是在安装的 lib 不是使用标准安装路径才需要配置

分类: