【宝塔运维】php7.4 安装 zip 扩展
在 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
(可以到 宝塔后台去重启)