由于未定义符号,PECL Solr未加载:curl_asy_getinfo
我正在尝试加载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
相关文章