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

发布于 2018-01-24 10:30:52

因为一个项目程序需要用到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

0 条评论

发布
问题