因为一个项目程序需要用到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
Bug天天改,头发日日疏,码字不易,如果有帮助到你,就点击"下方感谢"支持一下把.