5

Bug Genie 3 需要 PCRE 库 8.0 或更高版本。您拥有 2008-09-05 版本 7.8。从您的常用来源将您的系统更新到最新版本。

在我查看问题并尝试使用以下步骤更新我的 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

当我做 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

当我找到时,有很多

[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

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

在此处输入图像描述

当开源应用程序 buggenie 需要这个时,我可以知道我应该怎么做来解决这个问题。谢谢回复。

4

4 回答 4

5

我是 Centos 6.3 用户。这在我的情况下有效。

  1. 搜索现有的 pcre。

    rpm -qa | grep pcre
    
  2. 使用 --nodeps 删除所有现有的 pcre。

  3. 下载高于 8.x 的 pcre rpm。我使用了来自http://rpmfind.net/linux/rpm2html/search.php?query=pcre的一个

  4. 使用 rpm 安装它。

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

于 2012-10-06T08:57:38.700 回答
4

在 Centos 5.9 上,修改版的 drmanalo 步骤对我们有用:

  1. 搜索现有的 pcre
    rpm -q --queryformat "%{name}.%{arch}\n" pcre

  2. 使用 --nodeps rpm -ev --nodeps pcre-devel.x86_64
    rpm -ev --nodeps pcre.x86_64
    rpm -ev --nodeps pcre-devel.i386
    rpm -ev --nodeps pcre.i386删除所有现有的 pcre
  3. 添加了存储库
    nano /etc/yum.repos.d/utter-ramblings.repo

    [utter-ramblings]
    name=Utter Ramblings
    baseurl=http://www.jasonlitka.com/media/EL5/x86_64/gpgkey= /media/RPM-GPG-KEY-jlitka enabled=1 gpgcheck=
    1#same.url.as.above#


  4. 使用 yum 安装
    yum --disablerepo=* --enablerepo=utter-ramblings install pcre pcre-devel
  5. 重新启动您的网络服务并检查 phpinfo

于 2013-08-01T21:42:42.963 回答
2

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

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

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

于 2012-08-31T12:23:11.940 回答
0

在我的 Centos 5.9 上,我可以将 pcre 从 6.* 升级到 8.* 没问题,但 PHP 或 Apache 无法“识别”它。问题通过将 php53 升级到 php54 自行解决

于 2015-09-11T10:05:39.233 回答