PECL solr не загружается из-за неопределенного символа: curl_easy_getinfo - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь загрузить расширение 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)

Я использую готовую установку Fedora 15. Я установил много других расширений PECL без проблем. Почему это так сложно, а главное, как я могу это исправить?!?

Я использую FC15, PHP 5.3.8, curl 7.21.3. Заранее спасибо за любую помощь!

Ответы [ 4 ]

1 голос
/ 08 января 2015

Мое решение было: Редактировать: /etc/php.d/json.ini и добавьте extension = solr., так что это вызывает загрузку расширения solr после расширения json, избегая отсутствия библиотеки json.

Ej json.ini:

; Включить модуль расширения json расширение = json.so расширение = solr.so

1 голос
/ 23 марта 2012

Я также не мог понять, в чем проблема, так как мне удалось скомпилировать через pecl (phpize / configure / make / make install) на Fedora 16 просто отлично.

Сначала убедитесь, что у вас установлен libc compat:

compat-glibc.i386 : Compatibility C library
compat-glibc.x86_64 : Compatibility C library
compat-glibc-headers.x86_64 : Header files for development using standard C

После установки вышеуказанных пакетов я настроил / make / make install, и все заработало.

0 голосов
/ 27 февраля 2014

Это означает, что он нуждается в curl. Установите зависимости следующим образом:

sudo yum install libxml2-devel curl curl-devel php-curl
0 голосов
/ 04 мая 2012

Я столкнулся с подобной проблемой и нашел решение для работы.

Чтобы это исправить, просто создайте файл с именем /etc/php.d/solr.so и добавьте его содержимое в виде:

;Enable the solr php extension
extension=solr.so

, а затем просто перезагрузите ваш веб-сервер.Это должно работать сейчас.

...