Я пытаюсь загрузить расширение Solr PECL. Я попытался установить его с помощью «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. Заранее благодарю за любую помощь!
Я не мог понять, в чем проблема, поскольку я смог скомпилировать с помощью pecl (phpize / configure / make / make install) на Fedora 16 просто отлично.
Сначала убедитесь, что установлена совместимость libc:
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, и он работал нормально.
Моим решением было: Edit: /etc/php.d/json.ini и добавить расширение = solr.so, это вызывает загрузку расширения solr после расширения json, избегая отсутствия библиотеки json.
Ej json.ini:
; Включить расширение модуля расширения json = json.so extension = solr.so
Это означает, что для этого требуется завиток. Установите зависимости следующим образом:
sudo yum install libxml2-devel curl curl-devel php-curl
Я столкнулся с подобной проблемой и нашел решение для работы.
Чтобы исправить это, просто создайте файл с именем /etc/php.d/solr.so и добавьте его содержимое как:
;Enable the solr php extension extension=solr.so
а затем просто перезагрузите веб-сервер. Теперь он должен работать.