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
2、安装cmake3
yum install -y cmake3
//如果找不到包就选择源码安装
cmake源码安装方法(最下面有安装方法)
开始安装libzip
1、去官网下载libzip 想要最新的也可以去https://libzip.org/download/ 或者github寻找
wget -c https://libzip.org/download/libzip-1.9.2.tar.gz
2、解压安装包并创建build目录
tar -zvxf libzip-1.9.2.tar.gz
//进入安装包
cd libzip-1.9.2
//创建build目录
mkdir build && cd build
注意使用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:
我们需要设置 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
注意:$PKG_CONFIG_PATH 系统重启或者开启新的shell终端会话会失效,具体原因请自行了解
生效方式2:(推荐)
方法2也是通过设置pkg_config_path 环境变量方法,但是是永久有效,不受重启影响,先看pkg_config_path的值有没有生效,没有的话就添加
echo $PKG_CONFIG_PATH
//发现没有返回东西,或者返回的东西没有libzip相关的信息
给~/.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
centos7.9 编译安装cmake 3.23.0
1、先检查并卸载老版本
yum remove cmake
2、准备安装好cmake所需的依赖
yum -y install gcc gcc-c++ openssl openssl-devel tar
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
4.解压并进入安装包
tar -zvxf cmake-3.23.0.tar.gz
cd cmake-3.23.0
编译安装两张方式2选一
1、安装方法1
分别运行下面三段代码
./bootstrap
//编译
make
//安装
make install
//安装好后 直接运行cmake -version 看看是否成功
//which cmake 或者 find / -name cmake可以查看cmake在哪里
软链接的话看个人需要是否要建立,可以参考下面,我们不指定安装位置的话,系统会自动把cmake的执行文件放到相应位置,如果系统没有指定的话,为了方便全局使用,你可以自己建一个软链接
2、安装方法2
//指定安装目录为usr/local/cmake
./bootstrap --prefix=/usr/local/cmake --datadir=share/cmake --docdir=doc/cmake
//编译并安装
make && make install
指定 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
软链接完成后也就大功告成了!!!
安装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
2、生成的模块路径
/usr/local/php/lib/php/extensions/no-debug-non-zts-20220922/zip.so
3、修改php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20220922"
;增加
extension=zip.so
4、修改php.ini文件中output_compression
zlib.output_compression = Off 改为 zlib.output_compression = On;
5、重启apache或php-fpm