由于未定义符号,PECL Solr未加载:curl_asy_getinfo

2022-02-22 00:00:00 solr php pecl

我正在尝试加载PECL Solr扩展。我尝试使用"PECL install Solr"和下载并使用"phpize/configure/make"来安装它。在这两种情况下,扩展安装都没有错误,但是在Apache重新启动后(或在命令行上运行php时),总是会发出以下错误消息:

PHP Warning: Unable to load dynamic library /usr/lib64/php/modules/solr.so
 - /usr/lib64/php/modules/solr.so: undefined symbol:
 curl_easy_getinfo in Unknown on line 0

我检查了一下,发现创建的solr.so对象似乎不知道/usr/lib64/libcurl.so,尽管我指定了LDFLAGS-L/usr/lib64(虽然我不需要这样做):

 # ldd modules/solr.so
       linux-vdso.so.1 =>  (0x00007fffd5af8000)
       libc.so.6 => /lib64/libc.so.6 (0x00007fac573c0000)
       /lib64/ld-linux-x86-64.so.2 (0x00000034bc000000)

我使用的是开箱即用的Fedora15安装。我已经安装了许多其他PECL扩展,没有任何问题。为什么这这么难,更重要的是,我如何才能修复它?!?

我使用的是FC15、PHP 5.3.8、CURL 7.21.3。提前感谢您的帮助!


解决方案

我的解决方案是: 编辑: /etc/php.d/json.ini 并添加Extension=solr.so这会导致在json扩展之后加载Solr扩展,从而避免缺少json库。

ej json.ini:

;启用json扩展模块 扩展名=json.so 扩展名=solr.so

相关文章