Помогите с симплексом / libxml

Владелец бизнеса, на котором я работаю, только что обновил один из наших серверов до 16.04, и с тех пор simplexml больше не работает

Ошибка, которую я вижу в логах apache:

Uncaught Ошибка: вызов неопределенной функции simplexml_load_string()

Я вижу следующее, когда я бегу php -i:

php: /usr/local/lib/libxml2.so.2: информация о версии недоступна (требуется php)
/usr/local/lib/libxml2.so.2 является символической ссылкой на libxml2.so.2.7.2 в том же каталоге (/ usr / local / lib).

В соответствии с webminустановленный пакет libxml2.so.2.9.4,
Я не гуру Linux ни в коем случае, но наш код PHP нуждается simplexmlтак что мне нужно это исправить.

Кто-нибудь может дать какие-либо отзывы о том, как это исправить?

1 ответ

Хорошо, я наконец понял это после многих исследований и проб / ошибок.

/usr/local/lib/libxml2.so а также /usr/local/lib/libxml2.so.2 были обе ссылки на /usr/local/lib/libxml2.so.2.7.2

Правильная версия libxml для использования была 2.9.4, которая была установлена ​​в /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4

Я удалил символические ссылки (см. Ниже)

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

затем воссоздали символические ссылки, указывая на правильную версию

 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

Как только я сделал это и перезапустил Apache, он работал правильно.

И тут я подумал, что DLL ад существует только в Windows;)

Другие вопросы по тегам