Как исправить недостающие библиотеки при запуске php7.4 FPM и apache в Debian 9 после неожиданной установки php 8.0?

#php #xml-rpc

Вопрос:

Я запускаю php 7.4 FPM с apache с момента его выпуска — сегодня после обновления apt мы начали получать » Неперехваченную ошибку: вызов неопределенной функции xmlrpc_encode_request ()». После запуска php-v мы теперь видим PHP 8.0 в качестве активной версии php. ОДНАКО при просмотре вывода phpinfo() в реальном браузере — 7.4 fpm все еще обслуживал страницы, но php-xmlrpc больше не был установлен.

Я нашел МНОГО статей, описывающих простое «apt удалить php-xmlrpc», затем «apt установить php-xmlrpc» в качестве решения, однако это просто возвращает меня к началу. Похоже, что php 8.0 подключает определенные библиотеки и «как бы» берет верх.

Также похоже, что отсутствуют и другие библиотеки, такие как php-xml. Проблема в том, что после запуска apt upgrade apy предлагает только php 8.0 в качестве базовой версии php и все библиотеки 8.0?

Ответ №1:

Быстрое решение состоит в том, чтобы удалить php 8.0 (хотя это и не требуется), а затем установить правильную версию xmlrpc с помощью «apt-get install php7.4-xmlrpc» — это возвращает правильную версию xmlrpc на место и позволяет php7.4 работать должным образом.

sudo apt-get install php7.4-xml также был необходим для исправления ошибки вызова неопределенной функции simplexml_load_string()