在CentOS上修复共享的PCRE库

这不是一个关于PCRE的问题,更多的是关于更新共享的问题。 我正在运行的CentOS的分发只允许yum升级到版本6.6,或类似的地方。

我正在安装需要PCRE版本8.0+的问题跟踪器。 我无法卸载当前的6.6版本的PCRE,因为几乎所有的东西都依赖于它,系统会中断。

因此,我从源代码编译并安装了PCRE 8.12,但即使pcretest -C显示了新版本,在我的testing页上调用了php_info()也表明6.6库仍在加载。 我find了一个网站的链接,build议如何将旧图书馆换成新图书馆。

这样做,我觉得有些不对劲。 一些命令是报告问题:

 /usr/bin/php: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory 

我该怎么办才能解决这个问题? 我对共享/dynamic库不是很熟悉。 我有以下文件:

 [root@vps tracker]# find / -name libpcre.so* -exec ls -l '{}' \; lrwxrwxrwx 2 root root 16 Jul 14 07:53 /lib64/libpcre.so.0 -> libpcre.so.0.0.1 lrwxrwxrwx 1 root root 16 Jul 14 07:53 /usr/local/lib/libpcre.so.0 -> libpcre.so.0.0.1 -rwxr-xr-x 1 root root 116790 Jul 14 07:53 /usr/local/lib/libpcre.so.0.0.1 lrwxrwxrwx 2 root root 16 Jul 14 07:53 /usr/local/lib/libpcre.so -> libpcre.so.0.0.1 lrwxrwxrwx 1 root root 16 Jul 14 07:16 /root/pcre-8.12/.libs/libpcre.so.0 -> libpcre.so.0.0.1 -rwxr-xr-x 1 root root 116790 Jul 14 07:16 /root/pcre-8.12/.libs/libpcre.so.0.0.1 lrwxrwxrwx 1 root root 16 Jul 14 07:16 /root/pcre-8.12/.libs/libpcre.so -> libpcre.so.0.0.1 

成功! 我吹走了现有的库,所有不在/root/pcre-8.12/中的/root/pcre-8.12/ ,然后运行./configure; make; make install ./configure; make; make install 从源目录./configure; make; make install

它安装正确, 但仍然给我一个类似的错误。 我注意到:

 [root@vps pcre-8.12]# ldd /usr/sbin/httpd libm.so.6 => /lib64/libm.so.6 (0x00002b3c8a9dd000) libpcre.so.0 => not found (bunch of others) 

这些库位于/lib64/ ,而源安装程序创build的唯一链接是:

 /usr/local/lib/libpcre.so.0 

所以,我只是在/lib64/创build一个链接:

 [root@vps tracker]# link /usr/local/lib/libpcre.so.0.0.1 /lib64/libpcre.so.0 

而一切似乎都很棒!

也许

ldd / usr / bin / php

将显示PHP期望在哪里findpcre共享库。