OpenCart - 中文论坛

标题: Linux下为PHP添加ZipArchive扩展 [打印本页]

作者: sunboy    时间: 2015-7-24 08:58
标题: Linux下为PHP添加ZipArchive扩展
在opencart的插件中,有些插件需要zip扩展,但是环境没有安装,如何安装呢?我这边亲自安装过2次,给大家分享下,下次使用的时候也方便查找和配置

环境:linux  
使用root用户登录主机
1、依次运行如下命令:
  1. wget https://pecl.php.net/get/zip
复制代码
(默认会在线下载最新版本的)

  1. tar zxvf zip-1.x.x.tgz
复制代码
  zip-1.x.x.tgz是下载的代码包名称

  1. cd zip-1.x.x
复制代码
进入解压的目录

  1. find / -name phpize
复制代码
查找 phpize的路径,如果没有phpize,请先安装yum -y install php.devel

在当前目录下执行 phpize(直接输入phpize绝对路径即可)

  1. ./configure --with-php-config=phpize路径
复制代码
把上一步的phpize的路径填写到等号(=)后面

  1.       make
  2.       make instal
复制代码


2、查看生成的模块路径(安装完之后,屏幕上会提示zip.so的位置):
cd /usr/lib/php/modules/ (对应的extensions路径 /usr/lib/php/modules/)

3、修改php.ini(一般系统下php.ini文件较多,建议使用phpinfo()或者探针程序找到系统使用的php.ini)
查看 extension_dir = /usr/lib64/php/modules/     配置的路径
将第2步生成的zip.so文件考入到extension_dir配置的路径下 如:/usr/lib64/php/modules/
      在文件尾部增加
  1. extension=zip.so
复制代码


4. 重启apache或者nginx

以上方法如果不行请参考如下方法2:

下载ZipArchive

  1. wget https://pecl.php.net/get/zip-1.12.4.tgz
复制代码

解压:

  1. tar zxvf zip-1.12.4.tgz
复制代码

切换到zip-1.12.4目录一看,没有configure,这怎么编译呢,于是网上一 阵狂搜。 后来在意个论坛的一片帖子的回复中有人提到了phpize,我也试着执行了一下phpize命令,提示没有该命令,于是又是一阵狂搜。 原来phpize是php.devel带的,于是又安装了php.devel,命令为:
  1. yum -y install php.devel
复制代码

然后再执行phpize,接着ls一下,果然configure出现了,然后执行:

  1. ./configure --with-php-config=/usr/bin/php-config
复制代码
(请查看 php-config文件路径)
出现错误,提示缺少zlib什么的,于是执行

  1. yum -y install zlib-devel
复制代码

进行安装, 然后重新

  1. ./configure --with-php-config=/usr/bin/php-config
复制代码
(请查看 php-config文件路径)
接着make,但是又遇到了错误,提示缺少pcre啥的, 于是执行

  1. yum install pcre-devel
复制代码

然后

  1. make && make install
复制代码

搞定!

附:在Windows下的解决办法就比较简单了 :

     1、在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除
  然后同样在php.ini文件中,将 zlib.output_compression = Off 改为 zlib.output_compression = On ;

     2、重启Apache服务器。




欢迎光临 OpenCart - 中文论坛 (https://bbs.opencart.cn/) Powered by Discuz! X3.2