centos下libzip的安装并php7.*打开zip配置说明
首先希望大家多看看安装包里的说明,里面简单安装资料还是有的.
#yum安装
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum --enablerepo=remi install libzip5-devel
#源码安装
1.32和之前的版本用./configure配置
1.4和以后版本需要cmake配置
php7.4和之前版本区别.
从 PHP 7.4.0 开始,必须在编译 PHP 时用 --with-zip 配置选项来提供 zip 支持。之前的 PHP 版本,需要使用 --enable-zip 选项。
从 PHP 5.6.0 开始,添加了一个选项 --with-libzip=DIR 用来指定系统的 libzip 目录。要求 libzip 最低版本为 0.11,推荐使用 0.11.2 及以上版本。
从 PHP 7.3.0 开始, 不鼓励使用捆绑的 libzip 进行构建,但通过在配置中添加 --without-libzip 参数仍然可以实现。 从 PHP 7.4.0 开始,捆绑的 libzip 被移除。
详细见参考资料一.
# 卸载老版本
yum remove -y libzip
# 安装对应编译器
yum install -y cmake3
ln -sf /usr/bin/cmake3 /usr/bin/cmake
# 下载安装新版libzip
# wget https://libzip.org/download/libzip-1.7.3.tar.gz -O libzip.tar.gz && tar xvf libzip.tar.gz && cd libzip*
wget https://libzip.org/download/libzip-1.7.3.tar.gz
tar xvf libzip-1.7.3.tar.gz
cd libzip-1.7.3
mkdir build && cd build
# 未配置,默认安装路径为/usr/local
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/libzip
make -j && make install
#添加链接
ln -sf /usr/local/libzip/lib64/libzip.so.5.3 /usr/local/lib/libzip.so
# libzip旧版安装
wget https://libzip.org/download/libzip-1.3.2.tar.gz
tar -zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure --prefix=/usr/local/libzip
make && make install
# php扩展安装方法一
/usr/local/php/bin/pecl install zip #只有一个版本时候可以简单安装,否则多版本php最好手动安装
#手动安装,注意相应的路径,php7.4开启zip必须--with-zip --with-libzip=DIR
wget https://pecl.php.net/get/zip-1.19.0.tgz
tar zxvf zip-1.19.0.tgz
cd zip-1.19.0
/usr/local/php7.*/bin/phpize
./configure --with-php-config=/usr/local/php7.*/bin/php-config --prefix=/usr/local/php7.*/lib/php/extensions/no-debug-zts-******
make && make install
#编辑php.ini文件使生效
echo "extension=zip.so;" >> /usr/local/php7.*/etc/php.ini
#/etc/init.d/php-fpm7.* restart
service php-fpm restart
参考资料一: https://www.php.net/manual/zh/zip.installation.php
参考资料二(libzip下载地址): https://github.com/nih-at/libzip/