当前位置: 首页 > 淘宝 > 正文

宝塔环境下php7.3安装zip扩展的过程

因为一个项目程序需要用到php zip,在安装的过程发现缺乏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]

find / -name php.ini   # 搜索php.ini 位置

extension = /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/zip.so   #找到php.in的位置后,把这句加入最后一行。保存并重启服务。

项目环境


 Oracle-Linux-7.9 64位(红旗企业版)

php7.3

本文固定链接: https://www.eoowo.com/?p=1307 | 火星博客

该日志由 Rainer 于2021年08月23日发表在 淘宝 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 宝塔环境下php7.3安装zip扩展的过程 | 火星博客

宝塔环境下php7.3安装zip扩展的过程:等您坐沙发呢!

发表评论

CAPTCHAis initialing...
快捷键:Ctrl+Enter