宝塔安装PHP扩展 ZipArchive

php8.1 版本

php8.1 不支持ZipArchive导致程序无法后台直接更新的解决方法

在SSH命令行界面执行以下语句:

cd /www/server/php/81/src/ext/zip/
/www/server/php/81/bin/phpize
./configure --with-php-config=/www/server/php/81/bin/php-config
make && make install
echo "extension = zip.so" >> /www/server/php/81/etc/php.ini

libzip 版本错误

如果中途执行 ./configure --with-php-config=/www/server/php/81/bin/php-config 遇到以下错误:

configure: error: Package requirements (libzip >= 0.11 libzip ≠ 1.3.1 libzip ≠ 1.7.0) were not met

根据字面意思,是libzip包有问题,且libzip应该大于0.11版本且不等于1.3.1或者1.7.0

什么是libzip?

Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库

解决方法

    1. 卸载自带的libzip

      yum remove libzip -y
    1. 获取libzip包

      wget https://libzip.org/download/libzip-1.3.2.tar.gz
    1. 解压安装

      tar zxf libzip-1.3.2.tar.gz
      cd libzip-1.3.2/
      ./configure && make && make install
    1. 查看libzip位置

      [root@VM-8-9-centos]# whereis libzip
      libzip: /usr/local/lib/libzip.la /usr/local/lib/libzip.a /usr/local/lib/libzip.so
    1. 配置libzip库,使configure可以找到它

      export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
    1. 继续尝试执行PHP编译

      # 回到安装php扩展的目录
      cd /www/server/php/81/src/ext/zip/
      # 重新执行 ./configure 命令
      ./configure --with-php-config=/www/server/php/81/bin/php-config

最后在软件商店重启一下 PHP 服务即可。

注:从libzip1.4.0版本以上需要cmake编译安装,而且对cmake也有版本依赖,大部分情况需要先安装对应版本cmake,无特殊需求,1.3.2即可。

最后修改:2023 年 05 月 05 日
如果觉得我的文章对你有用,请点个赞吧~