J'essaie d'utiliser l'extension PHP de Solr sur la Debian Wheezy récemment mise à jour. Elle s'installe parfaitement à partir de PECL et des sources, mais au lieu de me donner les fonctionnalités attendues, elle me donne ceci à chaque exécution de PHP :
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php5/20100525/solr.so' - /usr/lib/php5/20100525/solr.so:
undefined symbol: curl_easy_getinfo in Unknown on line 0
De même, les scripts qui utilisent l'extension génèrent une erreur.
PHP Error[2]: include(SolrClient.php): failed to open stream:
No such file or directory in file <...path to my autoloader...>
Ce que je veux dire, c'est qu'il a été mis en place auparavant et qu'il a fonctionné comme un charme. Lors de la mise à jour des paquets concernés, seules les versions de PHP et de libcurl ont été modifiées. L'instance de Solr elle-même a été laissée telle quelle.
J'ai toutes les possibilités libcurl
bibliothèques :
$ locate libcurl
...
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.2.0
/usr/lib/x86_64-linux-gnu/libcurl.a
/usr/lib/x86_64-linux-gnu/libcurl.la
/usr/lib/x86_64-linux-gnu/libcurl.so
/usr/lib/x86_64-linux-gnu/libcurl.so.3
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
...
/usr/lib32/libcurl.so.3
/usr/lib32/libcurl.so.4
/usr/lib32/libcurl.so.4.2.0
...
J'ai installé le php5-curl
version 5.4.4-2 avec aptitude.
J'ai installé les extensions Sorl avec
sudo pecl install solr
(avec diverses combinaisons de -f
y -n
drapeaux et a essayé solr-beta
également) et avec
wget ...
cd ...
phpize
./configure
make
make install
J'installe la version 1.0.2 de l'extension car elle fonctionnait avant la mise à jour de Squeeze vers Wheezy. Comme je l'ai dit plus haut, l'extension s'installe sans aucune erreur.
J'ai déjà ajouté le extension=solr.so
incantation à la /etc/php5/mods-available/solr.ini
Quelle magie dois-je faire pour que l'extension solr fonctionne ? Est-ce vrai que la seule solution que j'ai est de rétrograder la version de libcurl telle qu'elle était avant la mise à jour ?