linnux上安装php zip(ZipArchive)、libzip扩展

安装顺序:
安装zip(ZipArchive),需要先安装libzip扩展
安装libzip,需要先安装cmake
按照cmake、libzip、zip的先后顺序安装
下面的命令都是Linux命令

1、安装cmake

确认是否已安装 cmake --version
cmake官网
未安装或者版本不是最新的就重新再安装一遍
下载

wget  https://github.com/Kitware/CMake/releases/download/v3.26.3/cmake-3.26.3.tar.gz

解压

tar -zxvf cmake-3.26.3.tar.gz

进入

cd cmake-3.26.3/

执行bootstrap命令

./bootstrap

执行成功 reboot重启一下服务器
检查安装是否成功

cmake --version

在这里插入图片描述

2 安装libzip

libzip官网
下载

wget -c https://libzip.org/download/libzip-1.9.2.tar.gz

进入目录

cd libzip-1.9.2

创建build目录

mkdir build && cd build

执行

cmake -DCMAKE_INSTALL_PREFIX=/usr/lib64

cmake 上级目录

cmake ..

编译并安装

make && make install

安装后需要设置环境变量
编辑文件“~/.bashrc” 添加以下环境变量

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig
export PKG_CONFIG_PATH

执行命令使之生效

source ~/.bashrc

检查是否安装成功

pkg-config --libs libzip

在这里插入图片描述

3 安装libzip

下载

wget https://pecl.php.net/get/zip

解压 并进入目录

tar -zxvf zip
cd zip-1.21.1

找到对应版本的phpize 目录 这里已php8.1 为例

find / -name phpize

在这里插入图片描述

执行phpize

/www/server/php/81/bin/phpize

在这里插入图片描述
查找php-config安装目录

find / -name php-config

在这里插入图片描述

配置

./configure --with-php-config=/www/server/php/81/bin/php-config 

编译+安装

make && make install

更改php.ini 在最后添加

extension=zip.so

更改php.ini

zlib.output_compression = Off
改为
zlib.output_compression = On 

重启php 服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目十 网络服务器搭建及应用

文章目录 Samba1.配置yum源2.安装samba服务和客户端3.添加用户4.修改访问控制权限,使samba指定的目录可以正常访问5.修改samba配置参数6.启动samba服务7.查看samba运行情况8.通过外部服务器访问 I know, i know 地球另一端有你陪我 Samba 1.配置yum源 mkdi…

【Paddle】稀疏计算的使用指南 稀疏ResNet的学习心得 (2) + Paddle3D应用实例稀疏 ResNet代码解读 (1.6w字超详细)

【Paddle】稀疏计算的使用指南 & 稀疏ResNet的学习心得 Paddle3D应用实例稀疏 ResNet代码解读 写在最前面一、稀疏格式简介1. COO(Coordinate Format)2. CSR(Compressed Sparse Row Format) 二、Paddle稀疏张量支持1. 创建 C…

SQL刷题笔记day6——转战LeetCode

1 第二高的薪水 ​ 我的代码: SELECT Salary SecondHighestSalary FROM Employee ORDER BY Salary DESC LIMIT 1, 1 我的代码不满足示例2的情况:如果没有第 2 高的薪资,即表里可能只有一条记录,这个解答会被评测为 Wrong Answ…

整理了六个正规靠谱的兼职赚钱软件,适合普通人做的兼职副业~

​随着互联网时代的到来,越来越多的人选择通过互联网赚钱。在这篇文章中,我们将探讨一些可以在网上长期赚钱的方法。 在网络上面其实有很多的赚钱方法,尽管方法很多,但是对于一些网络新手,刚进入互联网圈子不久的伙伴…

智慧校园建设的重要性有哪些

在21世纪的数字化浪潮中,教育领域正经历一场深刻的变革。智慧校园,这一概念如同一股清风,席卷全球的高等教育机构,以其创新的科技应用和教育理念,重塑着学习的未来。面对信息时代的挑战,传统校园模式是否还…

html+CSS部分基础运用9

项目1 参会注册表 1.设计参会注册表页面,效果如图9-1所示。 图9-1 参会注册表页面 项目2 设计《大学生暑期社会实践调查问卷》 1.设计“大学生暑期社会实践调查问卷”页面,如图9-2所示。 图9-2 大学生暑期社会调查表页面 2.调查表前导语的…

Win11有些exe双击后无反应的解决办法

现象 双击某些exe文件之后,小圆圈转了两下之后就消失,然后没任何反应。用回车反复启动也是一样的现象。 由于截图没法截图到鼠标,所以没法放出截图。 我电脑出现上述现象的软件有: 1.纸飞机调试助手 2.SOC Programming Tool 对…

torch-cuda版本安装

在gpu机器上 torch.cuda.device_count() 0 是什么原因呢 没有安装torch的GPU版本,无法将模型或数据提交到gpu上训练。 cuda_available torch.cuda.is_available() print("Is CUDA available:", cuda_available) # 输出为Falsedevice_count torch.cud…

3.4 移动机器人工作空间(摘自自主移动机器人导论2)

对于一个机器人来说,机动性等效于它的控制自由度。但是,机器人是处于某种环境的,因而下一个问题是把我们的分析放到环境之中。 我们关心机器人用它可控制的自由度在环境中定位它本身的方法。例如,考虑 Ackerman 车辆或汽车&#…

《深入C++11 代码优化与工程应用》勘误表(二)

第4章 1. 书中做了个包装函数&#xff0c;p是第三方库返回的裸指针。此包装函数为了用智能指针包裹以起到自动释放堆内存的目的。但是代码中lambda捕获的this指针只能在类中使用&#xff0c;否则编译报错&#xff1a; void* p GetHandle()->Create();shared_ptr<void&…

Pyhton 二叉树层级遍历

class TreeNode:def __init__(self, val0, leftNone, rightNone):self.val valself.left leftself.right rightclass Solution:def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:res []# 空节点&#xff0c;直接返回if not root:return resque [roo…

Docker容器快速入门(1)

目录 1.Docker 简介 2.跟普通虚拟机的对比 2.打包、分发、部署 Docker主要理念&#xff1a;一次封装&#xff08;打包&#xff09;随处运行&#xff08;部署&#xff09; 4.Docker 部署的优势 5.Docker 通常用来做什么 6.重要概念&#xff1a;镜像、容器、仓库 Docker 官方…

c++移动构造和赋值的样例

#include <iostream>class MyResource { public:// 默认构造函数MyResource(size_t size 0) : m_size(size), m_data(size ? new int[size] : nullptr) {std::cout << "Default constructor called\n";}// 析构函数~MyResource() {delete[] m_data;std…

使用ssh连接ubuntu

一、下载连接工具 常见的连接工具右fianlshell、xshell等等。在本文章中使用的finalshell&#xff0c;工具可以去官网上下载&#xff0c;官网下载。 二、Ubuntu中配置shh 1、使用下面指令更新软件包&#xff08;常用于下载安装或更新软件时使用&#xff0c;更新到最新的安装…

图搜索算法A*、Dijkstra在路径规划中的应用

当我们讨论基础路径规划算法时&#xff0c;尤其是在图搜索算法的范畴内&#xff0c;通常会重点关注如A*和Dijkstra算法这样的经典方法。这些算法在多种场景中&#xff0c;如机器人导航、网络路由以及游戏设计中发挥着至关重要的作用。下面为您提供一个学习大纲&#xff0c;帮助…

红苹果的圆度、直径大小标定

function fruitImageProcessingGUI% 创建主窗口和控件mainFigure figure(Units, normalized, Position, [0.3, 0.3, 0.4, 0.4]);instructionText uicontrol(Style, text, String, 请点击按钮执行相应的图像处理步骤, ...Units, normalized, Position, [0.1, 0.7, 0.8, 0.2], …

母亲的爱与妻子的爱,同为“爱“。不同感受!

母亲的爱与妻子的爱&#xff0c;虽然都是一个女人给予男人的爱&#xff0c;却有着本质的不同&#xff01; 天下父母对儿女的爱大多相同。在母亲眼中&#xff0c;儿女无论是多大年龄&#xff0c;无论你是否长大成人&#xff0c;也无论你做多大的官&#xff0c;有多么大的成就&am…

HBuilderX新增uni-app项目并发布到微信小程序

目录 1、下载软件并安装 2、创建项目并配置小程序id 3、微信开发者工具运行项目并配置 4、开发一个登录页面并发布 5、上传代码并小程序打开 6、手机扫码查看小程序 7、体验完后还要发版要去小程序申请备案认证 1、下载软件并安装 下载HBuilderX 下载微信开发者工具 …

Java中的对象流 ObjectInputStream 和ObjectOutputStream

ObjectInputStream和ObjectOutputStream是Java中用于对象序列化和反序列化的重要工具&#xff0c;它们属于Java I/O库中的对象流。 基本功能&#xff1a; ObjectOutputStream&#xff1a;主要用于将Java对象&#xff08;必须是实现了Serializable接口的类的对象&#xff09;写…

【Java SE】超详细讲解String类

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 初步认识String2. String类的常用方法2.1 字符串构造2.2 String对象比较2.2.1 比较是否引用同一个对象2.2…