Linux下编译安装PHP扩展zip模块的方法

1、依次运行以下命令

下载地址:PECL :: Package :: zip (php.net)    

Linux下编译安装PHP扩展zip模块的方法1、 - 图1

wget http://pecl.php.net/get/zip-1.14.0.tgz
tar zxvf zip-1.14.0.tgz
cd zip-1.14.0
/home/php/bin/phpize   //对应的phpize路径,通过whereis phpize找到目录路径
./configure --with-php-config=/opt/php/bin/php-config (对应的php-config路径) 如果报错:please reinstall the libzip 那么得安装这个依赖,见下面安装方法
make && make install


卸载旧版本libzip
yum remove -y libzip
安装cmake3
yum install -y cmake3
sudo ln -sf /usr/bin/cmake3 /usr/bin/cmake
下载libzip
wget https://libzip.org/download/libzip-1.5.2.tar.gz  //依次编译安装完,注意要小于1.5.0的,要不然得用cmake3
tar zxvf libzip.tar.gz
cd libzip-1.5.2
使用cmake3编译安装libzip
mkdir build && cd build
cmake ..
make && make install

2、以上安装后,生成的模块路径,最后面会有so的路径返回显示的

/home/php/lib/php/extensions/no-debug-non-zts-20050922/zip.so

3.修改php.ini

vim /etc/php.ini
extension_dir = "/home/php/lib/php/extensions/no-debug-non-zts-20050922/"  //根据你的实际路径写
extension="zip.so"  //貌似不加双引号也可以

4、如果报libzip.so错误

Linux下编译安装PHP扩展zip模块的方法1、 - 图2则执行以下指令:

ldconfig /usr/local/lib
ldconfig /usr/local/lib64


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

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



6、重启apache或php-fpm

service php-fpm reload    //如果没有service操作命令,可以先ps -ef|grep php-fpm 再kill掉它,执行./php-fpm (记得要在php-fpm目录下执行)