宝塔php7.4安装zip扩展
1 基础知识
1.1 libzip的概念
– libzip是一个C库
1.2 libzip的作用
– libzip用于读取、创建和修改zip归档
– libzip可从缓存区、文件和其他zip归档直接复制压缩数据和添加文件
– libzip可不关闭存档的情况下还原更改
2 最佳实践
2.1 系统环境
os = CentOS 7.7 x86_64
ip address = any
host name = any
2.2 安装前的准备
2.2.1 卸载源安装包
yum remove libzip
2.2.2 准备编译环境
yum install -y gcc gcc-c++ make expat-devel
2.2.3 下载软件包
cd ~
wget https://libzip.org/download/libzip-1.2.0.tar.gz
其他版本请从如下链接下载,
https://github.com/nih-at/libzip/releases
2.2.4 解压软件包
cd ~
tar -xf libzip-1.2.0.tar.gz
2.3 安装软件包
2.3.1 预编译软件包
cd ~/libzip-1.2.0
./configure --bindir=/usr/sbin/ \
--sbindir=/usr/sbin/ \
--libexecdir=/usr/libexec \
--sysconfdir=/etc/ \
--localstatedir=/var \
--libdir=/usr/lib64/ \
--includedir=/usr/include/ \
--datarootdir=/usr/share \
--infodir=/usr/share/info \
--localedir=/usr/share/locale \
--mandir=/usr/share/man/ \
--docdir=/usr/share/doc/libzip-1.2.0
2.3.2 编译软件包
cd ~/libzip-1.2.0
make
2.3.3 安装软件包
cd ~/libzip-1.2.0
make install
参阅文档
===================
官方首页
—————
https://libzip.org/
官方github
————-
https://github.com/nih-at/libzip
软件的下载,
—————
https://github.com/nih-at/libzip/releases
https://libzip.org/download/
历时版本下载
————–
https://libzip.org/libzip-discuss/
安装完成后,查看是否存在/usr/local/lib/pkgconfig目录,如果存在,执行如下命令来设置PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
安装ZipArchive
cd /www/server/php/74/src/ext/zip
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install
echo "extension = zip.so" >> /www/server/php/74/etc/php.ini
重启php即可(有时候重启无效,建议重启服务器,再查看状态)
重启后如果报错,如图所示:
出现标题这样的错误大概是:
1、模块加载了两次,所以php -i|grep Configure,看一下配置文件和配置include的目录,对于这些文件中是否有同名的module
2、动态加载模块时,模块的目录下与php.ini中都有一个同名so
知道上述的问题就好办了,先看php配置文件和include目录下的文件,先整理内容。然后查看extension_dir,看看这个目录下的文件与include中的文件引用路径是否一致。我们打开php.ini这个文件,删除掉第一个zip.so即可。
nano /www/server/php/74/etc/php.ini
看红色的地方,原来以前就有一个zip.SO,所以我们把这个删除掉。OK,重启发现问题解决了