因为一个项目程序需要用到`phpoffice`,在安装的过程发现缺乏`fileinfo/zip`插件.信息如下: ``` the requested PHP extension fileinfo is missing from your system the requested PHP extension zip is missing from your system ``` `fileinfo`插件直接通过宝塔后台安装完成,下面主要陈述下`zip`的安装与遇到的问题.
进入`php73`的扩展安装目录(因为php扩展里已经下载好zip扩展文件所以不用再自行下载了,直接安装) ```
cd /www/server/php/73/src/ext/zip/
/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
#这里遇到错误 ``` 错误信息如下: ``` configure: error: Please reinstall the libzip distribution
#提示需要重新安装libzip库,应该是zip需要依赖libzip库 ``` 系统本身是有安装`libzip`库的(通过`yum info libzip`得知),但是这里还是提示,应该是版本问题,yum安装的是0.10.1版本,我从官方获取最新的libzip[https://libzip.org/download/libzip-1.5.1.tar.gz]安装; ```
yum remove libzip -y
#先删除原来的libzip
wget https://libzip.org/download/libzip-1.5.1.tar.gz tar -zxvf libzip-1.5.1.tar.gz cd libzip-1.5.1 ./configure
#这里配置遇到错误,主要原因是1.4及以上版本安装需要cmake命令,系统没有安装,所有选用了低一级的版本
make && make install ``` 换用低级libzip版本安装 ```
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0
./configure
make && make install
``` 成功安装libzip.再回来安装zip扩展. ```
cd /www/server/php/73/src/ext/zip/
/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make
``` 编译过程遇到错误: ``` /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or directory #添加软连接,即可解决
ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h ``` 执行最后的编译安装 ```
make install
``` 结果出现:`Installing shared extensions:www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/`,表示zip扩展安装成功. 最后我们修改php.ini文件在文件末尾添加: ``` [zip]
extension = /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/zip.so ``` 服务器重载,重新加载php配置后完成所有操作. 项目环境 > - Centos 7.6 64位 > - php7.3
http://liberobk.com/life/569.html 原文地址