PCRE libraries version is too old
Solution 1
I think you have to manually build PHP against newest PCRE library using --with-pcre-regex=DIR
option. To do so, you need to obtain the PHP sources and PCRE sources, as well as sources of all other libraries you might need.
This page http://php.net/manual/en/pcre.installation.php summarizes versions of PCRE bundled with PHP.
The much easier option would be updating PHP using package manager of your OS (perhaps by enabling unstable repositories), but this depends on your OS.
Solution 2
I'm Centos 6.3 user. This worked in my case.
-
Search for existing pcre.
rpm -qa | grep pcre
Remove all existing pcre using --nodeps.
Download pcre rpm higher than 8.x. I used one from http://rpmfind.net/linux/rpm2html/search.php?query=pcre
Install it using rpm.
Restart your web service and check phpinfo. It should reveal the pcre libraries you just installed.
Solution 3
On Centos 5.9 a modified version of drmanalo's steps worked for us:
- Search for existing pcre
rpm -q --queryformat "%{name}.%{arch}\n" pcre - Remove all existing pcre using --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
- Added repository
nano /etc/yum.repos.d/utter-ramblings.repo[utter-ramblings]
name=Utter Ramblings
baseurl=http://www.jasonlitka.com/media/EL5/x86_64/
gpgkey=#same.url.as.above#
/media/RPM-GPG-KEY-jlitka
enabled=1
gpgcheck=1 - Installed using yum
yum --disablerepo=* --enablerepo=utter-ramblings install pcre pcre-devel - Restart your web service and check phpinfo
1myb
Updated on June 13, 2022Comments
-
1myb almost 2 years
The Bug Genie 3 requires PCRE librairies 8.0 or later. You have version 7.8 2008-09-05. Update your system to the latest release from your usual sources.
after i look at the problem and try to update my pcre libraries with the following step:
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
when i do pcretest -C i got this
[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
and when i do locate, there are a lot
[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
finally, i backed to my php info happily.. it still show me version 7.8 installed.
May i know what should i do to solve this while the open source application buggenie need this . Thx for reply.
-
1myb over 11 yearsmay i know what is the location of PCRE ? while there're a lot =(
-
galymzhan over 11 years@SLim It is the location to the directory with PCRE sources (where you have unpacked the
pcre-8.31.tar.gz
archive) -
a1337q over 11 yearscan you specify exactly which version you installed from rpmfind.net/linux/rpm2html/search.php?query=pcre? I ran into the same problem using CentOS 6.3
-
a1337q over 11 yearsfor all others out there running into the same issue: It worked well with rpmfind.net/linux/sourceforge/f/fu/fuduntu/yum/2012/STABLE/RPMS/… for me.
-
Kim Tranjan over 10 yearsMan, you're a lifesaver. Thank you!