本帖最后由 FacFox 于 2022-10-29 13:38 编辑
早期安装的PHP7.3是独立编译zip扩展,后续安装及升级是整合编译的,导致升级后会重复加载zip模块。为避免这个错误,后面的PHP就不再单独编译ZIP扩展了。因此7.3之后版本需要手动安装ZIP扩展。
但是:面板配置没有ZIP扩展,只能进行手动添加!ZIP扩展本来就包含在软件包里,解决这个问题,只需要手动进行添加即可。但是另一个问题是如果直接在PHP对应的扩展安装目录下进行安装,会出现下列错误:
- checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0... no
- configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
- Package 'libzip', required by 'virtual:world', not found
复制代码 说明libzip也没有被安装。因此需要先安装libzip。安装方法如下:
- wget https://libzip.org/download/libzip-1.9.2.tar.gz
- tar -zxvf libzip-1.9.2.tar.gz
- cd libzip-1.9.2
- mkdir build && cd build
- cmake ..
- make && make install
复制代码 安装libzip完成后,才能进行PHPZIP扩展的安装(下面以PHP8.0为例):
- cd /www/server/php/80/src/ext/zip/
- /www/server/php/80/bin/phpize
- ./configure --with-php-config=/www/server/php/80/bin/php-config
- make && make install
复制代码 但是安装完成后,在配置文件php.ini中加入
之后,发现依然存在问题:- 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:- /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/zip.so
复制代码 发现libzip.so.5还是没有成功被识别。最后,直接安装PECL-ZIP试试:
安装完之后,发现依赖库已经装上,ZIP也出现在扩展列表中了。
|
|