这不是关于PCRE的问题,而是更多关于更新共享库的问题.我正在运行的CentOS的分发只允许yum升级到版本6.6,或类似的地方.
我正在安装需要PCRE 8.0版的问题跟踪器.我无法卸载当前6.6版本的PCRE,因为几乎所有东西都依赖于它,系统会破坏.
因此,我从源代码编译并安装了PCRE 8.12,但即使pcretest -C显示了新版本,在我的测试页面上调用PHP_info()表示仍在加载6.6库.我找到了一个link to a site建议如何换掉新库的旧库.
在这样做的时候,我认为有些事情并不完全正确.一些命令报告问题:
/usr/bin/PHP: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
我该怎么做才能解决这个问题?我对共享/动态库不是很熟悉.我有以下文件:
[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/中,然后运行了./configure;使;从源目录进行安装.
原文链接:https://www.f2er.com/bash/385547.html[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 /中,而源安装程序创建的唯一链接是:
/usr/local/lib/libpcre.so.0
所以,我只是在/ lib64 /中创建了一个链接:
[root@vps tracker]# link /usr/local/lib/libpcre.so.0.0.1 /lib64/libpcre.so.0
一切似乎都很棒!