Помогите с симплексом / 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;)