libphp-7.1.so
либо отсутствует в вашей системе, либо находится в месте, не настроенном таким образом, чтобы Apache мог его найти. Вероятно, он был удален во время обновления чего-либо, но трудно сказать.
Вы обнаружите, что PHP — это беспорядок в обслуживании на сервере Linux. Особенно на чем-то вроде Ubuntu LTS (который может быть вашим дистрибутивом, а может и не быть, это только моя точка зрения), где вы получаете стабильность LTS, но затем попадаете в затруднительное положение, которое заставляет вас оставаться месяцами или годами за новыми выпусками других. программное обеспечение, которое зависит от более новой функциональности «пакета X» для правильной работы. Ниже показано, как я справляюсь с этим в Ubuntu. Если вы используете Redhat, Slack, SuSE или Yggdrasil Linux, это не сильно поможет.
Вы не можете просто установить более новую версию PHP без того, чтобы в какой-то момент не столкнуться с проблемами зависимостей программного обеспечения ОС. Иногда эти зависимости могут столкнуться с функциональностью MySQL/MariaDB, что может привести к очень запутанной проблеме типа красной таблетки. Как прокомментировал один человек выше, иногда версия PHP, связанная со стандартной ОС, настолько устарела, что ее использование нецелесообразно (что, безусловно, относится к чему-либо меньшему, чем PHP 8.0, и, конечно, отрывочно с 7.4, по состоянию на 3/29 /22).Также сбивает с толку новых администраторов, потому что «Почему в вашей ОС должно быть программное обеспечение, которое настолько устарело?», правильно? Ubuntu, по-видимому, переносит проблемы с безопасностью в выпуски LTS, но для этого требуется изрядное количество копаний. проверять данный CVE фактически исправлен в пакетах LTS. Иногда исправление будет доступно и уже реализовано в репозитории tarball/git данного пакета, но исправление/бэкпорт все еще ожидает, пока сопровождающий Ubuntu фактически включит его в пакет deb, чтобы вы могли его установить. Выход вне диапазона и установка программного обеспечения без репозитория предательски с точки зрения безопасности, потому что тогда вы полагаетесь на ручной процесс, чтобы не забыть обновить этот пакет OOB, и это никогда не сработает. админы уходят, люди забывают.
К счастью, есть специалист по сопровождению Debian OndÅej Surý (больше похоже на волшебника) из Чешской Республики, который взял на себя задачу создать репозиторий, включающий все основы для обновления PHP в системе Debian/Ubuntu. Ты можешь настроить это чудесное репо и обновите PHP, и он по-прежнему будет поддерживаться. В качестве бонуса вы можете обновить NginX и Апачи через его репозиторий, поскольку некоторые из новых функций PHP требуют внесения изменений в эти пакеты. Вы, вероятно, можете найти лучшие инструкции по одной из ссылок выше, но есть несколько сайтов, которые могут пройти через это также вместе с любыми необходимыми изменениями стека Nginx или Apache.
Одно предостережение: перед установкой репозитория OndÅej Surý получите список все установленные пакеты PHP/NginX/Apache (например: дпкг -л | egrep -i '(apache|nginx|php)'
(или какое-то подобное заклинание подходящий
способность
способный получить
). Имена этих пакетов ДЕЙСТВИТЕЛЬНО иногда меняются, а зависимости иногда приводят к сочетанию версий пакетов PHP. Например, что-то случилось с mbstring упаковать пару версий PHP назад. Это потребовало некоторого ручное вмешательство
Конечно, всего этого иногда можно избежать с помощью обновления ОС (например, «Безумный верблюд» -> «Поврежденный динго»), но даже в этом случае в последнем выпуске LTS могут отсутствовать передовые функции, которые нужны некоторым сторонним стекам, и вы все еще в той же лодке.
В любом случае, удачи и не забудьте сделать снимок виртуальной машины, прежде чем что-либо делать!