• centos7.9编译安装libzip-1.9.2 和 cmake 3.23.0


    centos7.9编译安装libzip-1.9.2

    在编译安装php时系统会报 configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != … 这是因为libzip 版本过低 解决方法如下:
    1、卸载以前的版本 ,没有的话也可以不用卸载

    yum remove libzip libzip-devel
    
    • 1

    2、安装cmake3

    yum install -y cmake3
    
    • 1

    //如果找不到包就选择源码安装
    cmake源码安装方法(最下面有安装方法)

    开始安装libzip

    1、去官网下载libzip 想要最新的也可以去https://libzip.org/download/ 或者github寻找

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

    2、解压安装包并创建build目录

    tar -zvxf libzip-1.9.2.tar.gz
    //进入安装包
    cd libzip-1.9.2
    //创建build目录
    mkdir build && cd build
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意使用cmake … 的情况是会把libzip 安装到/usr/lib64 请自行了解/usr/local/lib64 和 /usr/lib64 的区别,为了把他安装到/usr/lib64我们选择给他指定目录

    //在刚刚建立的build目录中
    cmake -DCMAKE_INSTALL_PREFIX=/usr ..
    // 这里如果执行失败,请直接用cmake的绝对路径执行
    //编译软件
    make
    //安装软件
    make install
    
    //通过命令查看是否生效 二选一
    方式1:查单个(推荐)  有的话会提示  -lzip
    pkg-config --libs libzip
    方式2:列出所有看看有没有libzip
    pkg-config --list-all
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这样我们就大公告成了

    生效方式1:

    我们需要设置 pkg_config_path 环境变量方法,先看pkg_config_path的值有没有生效,没有的话就添加接下来查看是不是没有添加path

    echo $PKG_CONFIG_PATH
    //发现没有返回东西,或者返回的东西没有libzip相关的信息所以我们需要添加path
    
    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig
    //执行下面代码检查下有没有成功
    
    pkg-config --libs libzip
    //得到的回复是有libzip 信息的就代表成功了
    -L/usr/local/lib64 -lzip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意:$PKG_CONFIG_PATH 系统重启或者开启新的shell终端会话会失效,具体原因请自行了解

    生效方式2:(推荐)

    方法2也是通过设置pkg_config_path 环境变量方法,但是是永久有效,不受重启影响,先看pkg_config_path的值有没有生效,没有的话就添加

    echo $PKG_CONFIG_PATH
    //发现没有返回东西,或者返回的东西没有libzip相关的信息
    
    • 1
    • 2

    给~/.bashrc 的最底部 添加PKG_CONFIG_PATH配置,当然你也可以添加到别的地方无非就是用不同的配置文件 如profile等等在这里就懒得写了,~/.bashrc只是针对用户自己而言,请自行了解 profile和bashrc区别

    我是在root 账户下添加的,那么只有这个账户下会生效,如果是别的账户需要使用的话请在别的账户下添加

    //编辑bashrc
    vi ~/.bashrc
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig
    export PKG_CONFIG_PATH
    //使path 生效
    source ~/.bashrc
    //重启或执行source ~/.bashrc 都可以使path生效
    
    //再次进入系统我们执行下列操作检查一下有没有成功
    pkg-config --libs libzip
    //得到的回复是有libzip 信息的就代表成功了,重启的话也不会丢失
    -L/usr/local/lib64 -lzip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    centos7.9 编译安装cmake 3.23.0

    1、先检查并卸载老版本

    yum remove cmake
    
    • 1

    2、准备安装好cmake所需的依赖

    yum -y install gcc gcc-c++ openssl openssl-devel tar
    
    • 1

    3、下载源码

    官方地址: https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0.tar.gz
    git地址:https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0.tar.gz
    
    • 1
    • 2

    4.解压并进入安装包

    tar -zvxf cmake-3.23.0.tar.gz
    cd cmake-3.23.0
    
    • 1
    • 2

    编译安装两张方式2选一

    1、安装方法1

    分别运行下面三段代码

    ./bootstrap
    //编译
    make
    //安装
    make install
    //安装好后 直接运行cmake -version 看看是否成功
    //which cmake 或者 find / -name cmake可以查看cmake在哪里
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    软链接的话看个人需要是否要建立,可以参考下面,我们不指定安装位置的话,系统会自动把cmake的执行文件放到相应位置,如果系统没有指定的话,为了方便全局使用,你可以自己建一个软链接

    2、安装方法2

    //指定安装目录为usr/local/cmake
    
    ./bootstrap --prefix=/usr/local/cmake --datadir=share/cmake --docdir=doc/cmake
    
    //编译并安装
    
    make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    指定 cmake 软链接这样可以在全局使用它,你可以把/usr/local/cmake/bin/cmake 指定到/usr/bin/cmake 或者 /usr/local/bin/cmake, 我们推荐使用/usr/local/bin/cmake,具体的请去百度了解一下/usr/bin 和 usr/local/bin的区别

    ln -s /usr/local/cmake/bin/cmake /usr/local/bin/cmake
    ln -s /usr/local/cmake/bin/cpack /usr/local/bin/cpack
    ln -s /usr/local/cmake/bin/ctest /usr/local/bin/ctest
    
    • 1
    • 2
    • 3

    软链接完成后也就大功告成了!!!

    安装php-zlib

    1、去官网下载扩展

    wget https://pecl.php.net/get/zip-1.21.1.tgz
    tar zxvf zip-1.21.1.tgz
    cd zip-1.21.1
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2、生成的模块路径

    /usr/local/php/lib/php/extensions/no-debug-non-zts-20220922/zip.so
    
    • 1

    3、修改php.ini

    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20220922"
    ;增加
    extension=zip.so
    
    • 1
    • 2
    • 3

    4、修改php.ini文件中output_compression

    zlib.output_compression = Off 改为 zlib.output_compression = On;
    
    • 1

    5、重启apache或php-fpm

  • 相关阅读:
    Matlab|含多微网租赁共享储能的配电网博弈优化调度
    JavaEE进阶(7)Spring Boot 日志(概述、用途、使用:打印日志,框架介绍,SLF4J 框架介绍、更简单的日志输出)
    Linux C/C++ 学习笔记(九):百万并发的服务器实现
    JAVA-SpringBoot入门Demo用IDEA建立helloworld
    【JavaWeb】-- idea下使用TomCat新建javaweb项目
    CB2-2CARD之Debian(Bookworm)安装Gnome看CCTV
    如何快速从零开始搭建一个前端项目
    2022年7月国产数据库大事记-墨天轮
    Excel表格总是处于只读状态怎么解决?
    设计模式-行为型模式-中介者模式
  • 原文地址:https://blog.csdn.net/maxiaojingabc/article/details/128150350