PCRE库版本太旧了

1my*_*myb 5 php apache pcre centos apache2

Bug Genie 3需要PCRE Librairies 8.0或更高版本.你有版本7.8 2008-09-05.从常规来源将系统更新到最新版本.

在我查看问题并尝试使用以下步骤更新我的pcre库之后:

wget the latest source of pcre from sourceforge 8.31

# tar -xzf pcre-8.31.tar.gz
# cd pcre-8.31
# ./configure --enable-utf8  --enable-unicode-properties
# make && make install
Run Code Online (Sandbox Code Playgroud)

当我做pcretest -C我得到了这个

[root@server1 /]# pcretest -C
PCRE version 8.31 2012-07-06
Compiled with
  8-bit support only
  UTF-8 support
  Unicode properties support
  No just-in-time compiler support
  Newline sequence is LF
  \R matches all Unicode newlines
  Internal link size = 2
  POSIX malloc threshold = 10
  Default match limit = 10000000
  Default recursion depth limit = 10000000
  Match recursion uses stack
Run Code Online (Sandbox Code Playgroud)

当我找到时,有很多

[root@server1 /]# locate libpcre
/lib64/libpcre.so.0
/lib64/libpcre.so.0.0.1
/usr/lib64/libpcrecpp.so.0
/usr/lib64/libpcrecpp.so.0.0.0
/usr/lib64/libpcreposix.so.0
/usr/lib64/libpcreposix.so.0.0.0
/usr/local/lib/libpcre.a
/usr/local/lib/libpcre.la
/usr/local/lib/libpcre.so
/usr/local/lib/libpcre.so.1
/usr/local/lib/libpcre.so.1.0.1
/usr/local/lib/libpcrecpp.a
/usr/local/lib/libpcrecpp.la
/usr/local/lib/libpcrecpp.so
/usr/local/lib/libpcrecpp.so.0
/usr/local/lib/libpcrecpp.so.0.0.0
/usr/local/lib/libpcreposix.a
/usr/local/lib/libpcreposix.la
/usr/local/lib/libpcreposix.so
/usr/local/lib/libpcreposix.so.0
/usr/local/lib/libpcreposix.so.0.0.1
/usr/local/lib/pkgconfig/libpcre.pc
/usr/local/lib/pkgconfig/libpcrecpp.pc
/usr/local/lib/pkgconfig/libpcreposix.pc
Run Code Online (Sandbox Code Playgroud)

最后,我很高兴地支持我的PHP信息..它仍然显示我安装的版本7.8.

在此输入图像描述

我知道如何解决这个问题,而开源应用程序buggenie需要这个.谢谢回复.

小智 5

我是Centos 6.3用户.这适用于我的情况.

  1. 搜索现有的pcre.

    rpm -qa | grep pcre
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用--nodeps删除所有现有的pcre.

  3. 下载pcre rpm高于8.x. 我用了http://rpmfind.net/linux/rpm2html/search.php?query=pcre

  4. 使用rpm安装它.

  5. 重新启动您的Web服务并检查phpinfo.它应该显示刚刚安装的pcre库.


gal*_*han 2

我认为你必须使用--with-pcre-regex=DIR选项针对最新的 PCRE 库手动构建 PHP。为此,您需要获取 PHP 源代码和 PCRE 源代码,以及您可能需要的所有其他库的源代码。

此页面http://php.net/manual/en/pcre.installation.php总结了与 PHP 捆绑的 PCRE 版本。

更简单的选择是使用操作系统的包管理器更新 PHP(可能通过启用不稳定的存储库),但这取决于您的操作系统。

  • @SLim它是PCRE源目录的位置(您已在其中解压`pcre-8.31.tar.gz`存档) (2认同)