最近在写php读取本地word,然后在word中替换内容的一个东西。在本地测试的差不多了,放到线上linux服务器下出现缺少zip扩展。
1.下载扩展包并解压
cd /usr/src/
# wget https://nih.at/libzip/libzip-1.2.0.tar.gz
# tar -zxvf libzip-1.2.0.tar.gz
# wget http://pecl.php.net/get/zip
# tar -zxvf zip
2.进入扩展包,进行编译安装
# cd libzip-1.2.0/
// 由于此包内,存在 configure等文件,可以直接进行编译安装
# make
//如果直接make 出现 make: *** No targets specified and no makefile found. Stop.
//可执行一下 ./configure --with-php-config=/usr/local/Comsenz/php/bin/php-config //等号后面是自己的php路径
# make install
// 若没有报错,进行下一步zip安装
# cd zip-1.19.0/ //这个文件名具体看你自己安装的版本
// 根据本机 php安装路径下phpize 来生成 configure等文件
# /usr/local/Comsenz/php/bin/phpize
// 生成 configure等文件后,执行
# ./configure --with-php-config=/usr/local/Comsenz/php/bin/php-config
// 执行后,进行编译
# make
# make install
注意:在zip扩展 make 编译时,若出现 /usr/local/include/zip.h:59:21: fatal error: zipconf.h: No such file or dire… 提示,找不到 zipconf.h文件
// 解决方法:直接手动复制过去即可
# cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h
// 再进行 编译和安装
# make && make install
3.在 安装后,会提示 安装完毕的扩展路径,如:/usr/local/Comsenz/php/lib/php/extensions/no-debug-non-zts-20180731/zip.so
4.安装成功后,要在php.ini里进行修改
// Off 改为 On
zlib.output_compression = On
//添加扩展
extension=/usr/local/Comsenz/php/lib/php/extensions/no-debug-non-zts-20180731/zip.so
5.重启php服务就ok了。