当前位置:论坛首页 > Linux面板 > 建议

【已奖励300宝塔币】宝塔BT面板 CentOS8 PHP 缺失zip扩展 的解决

发表在 Linux面板2021-3-31 14:07 [复制链接] 1 3302

宝塔BT面板 CentOS8 PHP 编译 缺失zip扩展 的解决方案正则表达式,对CentOS和Redhat系列的判断需要优化

问题描述:

新装服务器,WordPress等需要zip压缩和解压的php软件,报错缺失zip扩展
捕获.PNG

问题解决:

一、官方编译脚本中缺少依赖:

需要在如下文件,如:http://*.bt.cn/install/0/php.sh中
第 254 行,关于对CentOS8的特殊判断中,做如下处理。
QQ图片20210331140222111.png

QQ图片20210331140222.png



Install_Libzip(){
        if [ "${PM}" == "yum" ];then
                【-】el=$(cat /etc/redhat-release|grep -iE 'CentOS|Red Hat'|grep -Eo '([0-9]+\.)+[0-9]+'|grep -Eo '^[0-9]')
                【+】el=$(cat /etc/redhat-release|grep -iE 'CentOS|Red Hat'|grep -Eo '[0-9]'|grep -Eo -m 1 '[0-9]'|head -1)
                if [ "${el}" == "8" ];then
                        【-】yum install -y libzip-devel
                        【+】yum install -y libzip libzip-devel
                elif [ "${el}" ]; then
                        rpm -q libzip5-devel > /dev/null
                        if [ "$?" -ne "0" ];then
                                mkdir libzip


二、正则表达式,对CentOS和Redhat系列的判断需要优化

目前宝塔BT官方对CentOS版本的判断正则表达式为:
  1. el=$(cat /etc/redhat-release|grep -iE 'CentOS|Red Hat'|grep -Eo '([0-9]+\.)+[0-9]+'|grep -Eo '^[0-9]')
复制代码


我给出我写的2种,推荐第二种:


1、不带首行验证
  1. cat /etc/redhat-release|grep -iE 'CentOS|Red Hat'|grep -Eo '[0-9]'|grep -Eo -m 1 '[0-9]'
复制代码


2、带首行验证
  1. cat /etc/redhat-release|grep -iE 'CentOS|Red Hat'|grep -Eo '[0-9]'|grep -Eo -m 1 '[0-9]'|head -1
复制代码


3、验证结果:
无标题.png



另外:
部分脚本中,关于 CentOS Stream 8 的判断稍微有点问题,需要进一步测试和修复。

提示:安装脚本:http://download.bt.cn/install/install_6.0.sh 也有部分问题需要做测试,BT加油!。



OK,望尽快完善~







使用道具 举报 只看该作者 回复
发表于 2021-4-8 18:57:02 | 显示全部楼层
奖励宝塔币300
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表