当前位置:论坛首页 > Linux面板 > 建议

PHP7以上安装ZIP扩展失败的解决方案

发表在 Linux面板2022-9-5 18:01 [复制链接] 0 4889

本帖最后由 FacFox 于 2022-10-29 13:38 编辑

早期安装的PHP7.3是独立编译zip扩展,后续安装及升级是整合编译的,导致升级后会重复加载zip模块。为避免这个错误,后面的PHP就不再单独编译ZIP扩展了。因此7.3之后版本需要手动安装ZIP扩展。

但是:面板配置没有ZIP扩展,只能进行手动添加!ZIP扩展本来就包含在软件包里,解决这个问题,只需要手动进行添加即可。但是另一个问题是如果直接在PHP对应的扩展安装目录下进行安装,会出现下列错误:
  1. checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0... no
  2. configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
  3. Package 'libzip', required by 'virtual:world', not found
复制代码
说明libzip也没有被安装。因此需要先安装libzip。安装方法如下:
  1. wget https://libzip.org/download/libzip-1.9.2.tar.gz
  2. tar -zxvf libzip-1.9.2.tar.gz
  3. cd libzip-1.9.2
  4. mkdir build && cd build
  5. cmake ..
  6. make && make install
复制代码
安装libzip完成后,才能进行PHPZIP扩展的安装(下面以PHP8.0为例):
  1. cd /www/server/php/80/src/ext/zip/
  2. /www/server/php/80/bin/phpize
  3. ./configure --with-php-config=/www/server/php/80/bin/php-config
  4. make && make install
复制代码
但是安装完成后,在配置文件php.ini中加入
  1. extension = zip.so
复制代码
之后,发现依然存在问题:
  1. PHP Startup: Unable to load dynamic library 'zip' (tried: /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/zip (/www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/zip: cannot open shared object file: No such file or directory), /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/zip.so (libzip.so.5: cannot open shared object file: No such file or directory)) in Unknown on line 0
复制代码
尝试ldd:
  1. /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/zip.so
复制代码
发现libzip.so.5还是没有成功被识别。最后,直接安装PECL-ZIP试试:
  1. yum install php-pecl-zip
复制代码
安装完之后,发现依赖库已经装上,ZIP也出现在扩展列表中了。
使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表