不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2022-08-23 17:23:36  修改时间:2024-07-18 08:35:07  分类:Linux软件安装/参数优化  编辑

在CentOS 7系统中,通过【宝塔Linux】安装了PHP7.4,运行业务系统时,报错:

it is missing from your system. Install or enable PHP's zip extension.

提示需要php的zip扩展,但是在后台面板中,又没有找到zip扩展,不然的话,可以直接点击安装:

其实在PHP安装包下面,已经有了这个扩展,进入目录,直接安装:

1、提前建立好常用的软链接:

rm -rf /usr/local/bin/php
rm -rf /usr/local/bin/phpize
rm -rf /usr/local/bin/php-config
rm -rf /usr/local/bin/composer

ln -sf /www/server/php/74/bin/php /usr/local/bin/php
ln -sf /www/server/php/74/bin/phpize /usr/local/bin/phpize
ln -sf /www/server/php/74/bin/php-config /usr/local/bin/php-config
ln -sf /www/server/php/74/bin/composer /usr/local/bin/composer

2、进入PHP源码目录的ext文件夹,安装zip扩展

cd /www/server/php/74/src/ext/zip
./configure

报错:

checking for zip archive read/write support... yes, shared
checking for libzip >= 0.11... no
configure: error: Package requirements (libzip >= 0.11) were not met:

Requested 'libzip >= 0.11' but version of libzip is 0.10.1

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBZIP_CFLAGS
and LIBZIP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

3、按照提示,升级 libzip

# 先删除原有的libzip

yum remove -y libzip

# 下载并手动编译安装, 自己下载到合适的位置

wget https://nih.at/libzip/libzip-1.2.0.tar.gz

# 解压

tar -zxvf libzip-1.2.0.tar.gz

# 进入到源码目录

cd libzip-1.2.0

# 配置

./configure

# 编译并安装

make && make install

# 更新依赖路径,CentOS版本小于8的,一定要执行下面这个命令,不然还是找不到 libzip

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

# 重新编译 php zip扩展

cd /www/server/php/74/src/ext/zip
./configure
make && make install

编译正常

# 在 php.ini 中,配置扩展

vim /www/server/php/74/etc/php.ini

增加配置:

extension=zip

# 重启php-fpm

(可以到 宝塔后台去重启)

 

 

参考:

  1. Centos7.5配置php,腾讯云Centos7.5编译安装PHP7.4
  2. PHP8编译swoole,编译安装PHP8和Swoole4
  3. PHP 7.4 checking for libzip 和 failed to open error_log 问题 
  4. error: system libzip must be upgraded to version >= 0.11【问题解决】php7编译zip报错