问题描述
后我看到的问题, pcre库与以下步骤:
wget来自sourceforge的pcre的最新来源8.31
#tar -xzf pcre-8.31.tar.gz
#cd pcre-8.31
#./configure --enable-utf8 --enable-unicode-properties
#make&& make install
当我做pcretest -C
i得到这
[root @ server1 /]#pcretest -C
PCRE版本8.31 2012-07-06
编译
8位支持
UTF-8支持
Unicode属性支持
没有即时编译器支持
换行符是LF
\R匹配所有Unicode换行符
内部链接大小= 2
POSIX malloc threshold = 10
默认匹配限制= 10000000
默认递归深度限制= 10000000
匹配递归使用堆栈
当我找到时,有很多
[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需要这个。我想你必须手动构建PHP最新的PCRE库使用
with-pcre-regex = DIR 选项。要执行此操作,您需要获取PHP源代码和PCRE源代码,以及您可能需要的所有其他库的源代码。-
此页面总结了与之捆绑的PCRE版本PHP。
更容易的选择是使用您的操作系统的软件包管理器更新PHP(可能通过启用不稳定的存储库),但这取决于您的操作系统。
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.
解决方案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.
这篇关于PCRE库版本太旧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!