Владелец бизнеса я работаю на просто обновленный из наших серверов к 16,04, и с тех пор, simplexml
не работает больше.
Ошибка, которую я вижу в апачских журналах:
Непойманная Ошибка: Звоните в неопределенную функцию 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
, таким образом, я должен получить зафиксированный.
Кто-либо может дать какой-либо вход о том, как зафиксировать это?
Хорошо, я наконец понял это после большого исследования и пробной версии/ошибки.
/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 ;)