宝塔环境下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