Вопрос по php, centos, apache, pcre, apache2 – Версия библиотеки PCRE слишком старая

5

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.

после того, как я посмотрю на проблему и попробую обновить мои библиотеки 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 я получил это

[[email protected] /]# 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

и когда я нахожу, есть много

[[email protected] /]# 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.

enter image description here

Могу ли я знать, что я должен сделать, чтобы решить эту проблему, в то время как это нужно для приложения с открытым исходным кодом. Спасибо за ответ.

Галымжан, я использую 5.3.3 1myb
Какая версия PHP у вас есть? galymzhan
@arsane, могу я узнать, какой файл нужно объявить в php или как это проверить? 1myb
вам нужно выяснить, какая загрузка php и почему не та, которую вы создали в / usr / local / lib. возможно, LD_LIBRARY_PATH поможет, или, может быть, вам нужно пересобрать php или Bug Genie. Sam Liao

Ваш Ответ

4   ответа
0

На моем Centos 5.9 я мог обновить pcre с 6. * до 8. * без проблем, но не смог получить его "распознал" с помощью PHP или Apache. Проблема решилась путем обновления php53 до php54

5

Я пользователь Centos 6.3. Это сработало в моем случае.

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.

для всех остальных, сталкивающихся с той же проблемой:rpmfind.net/linux/sourceforge/f/fu/fuduntu/yum/2012/STABLE/RPMS/… для меня.
Вы можете точно указать, с какой версии вы установилиrpmfind.net/linux/rpm2html/search.php?query=pcre? Я столкнулся с той же проблемой, используя CentOS 6.3
2

Я думаю, что вы должны вручную собрать PHP против новейшей библиотеки PCRE, используя--with-pcre-regex=DIR вариант. Для этого вам нужно получить исходные тексты PHP и PCRE, а также источники всех других библиотек, которые могут вам понадобиться.

Эта страницаhttp://php.net/manual/en/pcre.installation.php суммирует версии PCRE в комплекте с PHP.

Гораздо проще будет обновить PHP с помощью диспетчера пакетов вашей ОС (возможно, путем включения нестабильных репозиториев), но это зависит от вашей ОС.

@SLim Это местоположение в каталоге с источниками PCRE (где вы распаковалиpcre-8.31.tar.gz архив)
Могу ли я узнать, где находится PCRE? пока там много = ( 1myb
4

В Centos 5.9 у нас работала модифицированная версия шагов drmanalo:

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

Спасибо, это работает !!!
Человек, ты спасатель. Спасибо!

Похожие вопросы