1 votes

Aide avec simplexml / libxml

Le propriétaire de l'entreprise pour laquelle je travaille vient de mettre à niveau l'un de nos serveurs en 16.04, et depuis lors, simplexml ne fonctionne plus.

L'erreur que je vois dans les journaux apache est la suivante :

Erreur non capturée : Appel à une fonction non définie simplexml_load_string()

Je vois ce qui suit lorsque j'exécute php -i :

php: /usr/local/lib/libxml2.so.2 : aucune information de version disponible (requise par php)
/usr/local/lib/libxml2.so.2 est un lien symbolique vers libxml2.so.2.7.2 dans le même répertoire (/usr/local/lib).

Selon webmin, le paquet actuellement installé est libxml2.so.2.9.4.
Je ne suis pas du tout un expert en Linux, mais notre code PHP a besoin de simplexml, donc je dois régler ce problème.

Est-ce que quelqu'un peut donner des conseils sur la façon de résoudre cela ?

0voto

Stephen Wangner Points 11

D'accord, j'ai finalement compris cela après beaucoup de recherches et d'essais/erreurs.

/usr/local/lib/libxml2.so et /usr/local/lib/libxml2.so.2 étaient tous les deux des liens symboliques vers /usr/local/lib/libxml2.so.2.7.2

La version correcte de libxml à utiliser était la 2.9.4, qui était installée à /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4

J'ai supprimé les liens symboliques (voir ci-dessous)

 sudo rm /usr/local/lib/libxml2.so
 sudo rm /usr/local/lib/libxml2.so.2

puis recréé les liens symboliques, pointant vers la version correcte

 sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 /usr/local/lib/libxml2.so
 sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 /usr/local/lib/libxml2.so.2

Une fois que j'ai fait cela, et redémarré Apache, cela a fonctionné correctement.

Et je pensais que l'enfer des DLL n'existait que dans Windows ;)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X