CentOS升级pcre

问题需求

apache安装好了modsecurity之后,发现有错误日志:

[Thu Apr 07 12:09:53.068764 2022] [:notice] [pid 31898] ModSecurity: PCRE compiled version="8.39 "; loaded version="8.32 2012-11-30"
[Thu Apr 07 12:09:53.068774 2022] [:warn] [pid 31898] ModSecurity: Loaded PCRE do not match with compiled!

问题原因

因为apache在安装的时候用了源码安装的方式,取的pcre依赖是8.39的,modsecurity安装用的是apache的apxs,所以依赖也是8.39的,但是系统存在yum安装的pcre,版本是8.32,环境变量与安装版本不符合造成的问题。
可以用

pcre-config --version

验证,发现输出的8.32;

解决办法

升级pcre;

找到modsecurity依赖的pcre版本,进行源码编译安装;

./configure --prefix=/usr --docdir=/usr/share/doc/pcre-8.39 --libdir=/usr/lib64 --enable-unicode-properties --enable-pcre16 --enable-pcre32 --enable-pcregrep-libz --enable-pcregrep-libbz2 --disable-static --enable-utf8 --enable-shared
make -j8 && make install

–libdir注意是多少位的操作系统,32位的就是lib,64位的就是lib64;
yum查询pcre发现还是3.32

# yum list | grep pcre
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
pcre.x86_64                              8.32-17.el7                   @anaconda
pcre-devel.x86_64                        8.32-17.el7                   @base

但是运行pcre命令发现系统环境版本已经变了

# pcre-config --version
8.39

重启apache,发现没有报错了

systemctl restart httpd
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值