centos下的php程序中报错:Class 'ZipArchive' not found 的解决方法

今天在Centos系统下编写导入EXCEL文件时,抛出“Class 'ZipArchive' not found“ 的异常。而我在本地的windows下的代码则是运行正常的。

形成原因:在Centos也就是linux下并没有php_zip.dll这个文件(我不会告诉你即使有也并不会起作用~),所以需要重新编译一下php的zip模块。

 

安装zip具体步骤如下:

1.进入存放下载文件目录

cd usr/src

2.下载安装包

wget http://pecl.php.net/get/zip-1.12.4.tgz

3.进行解压

tar zxvf 包名

4.接入解压后的文件夹

cd zip-1.x

5.此时应该是不可以直接./configure的  所以需要先执行以下phpize,这里需要根据自己当前php版本安装的phpize的文件地址来执行

我的执行代码是:/usr/local/php/bin/phpize

6.然后就可以进行./configure编译了,此处需要注意的是,--with-php-config后面对应的路径是当前php版本的php-config所在文件路径  还有一点 这里编译的时候可能会报php-config路径不正确的错误  这是./cofigure 的操作权限问题  将php-config文件设置可写即可解决

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install(安装完之后,会提示zip.so的位置。然后将其记录下来,如:/usr/local/lib/php/extensions/zip.so)

 

到这里,你是不是你已经大功告成了?如果过程没有任何报错,那么恭喜你,确实是大功告成了,但是,小威在安装编译的时候发现报错缺少libzip,所以,这里我们还得继续先安装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

 

注意:此处完成后,我们还需要修改php.ini文件(通常可能会在/etc/文件夹下,不过视当初安装php而定,可以通过phpinfo()来查看)。

增加:extension = 安装zip成功后的路径/zip.so

同时修改:zlib.output_compression = On 

 

最后,千万别忘了重启nginx服务哟~

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值