Недавно я обновил дистрибутив на моей следующей машине с Ubuntu 16.04 до Ubuntu 18.04. После этого я получил "Внутреннюю ошибку сервера" при попытке получить доступ к следующему облаку. Я ничего не нашел в логах Apache, поэтому я искал с помощью cat /var/log/syslog | grep PHP любая актуальная информация об ошибках PHP. Я нашел:

    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/apcu.so' - /usr/lib/php/20151012/apcu.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/zip.so' - /usr/lib/php/20151012/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0

Я проверил пакет php-zip и обнаружил, что он установлен для php7.2 - версии php, на которую ссылается Ubuntu (проверено с помощью php -v).

Я мог бы найти причину, по которой библиотеки не используются. Я хочу поделиться решением, чтобы кто-нибудь еще в этом случае мог решить его легче.

1 ответ1

1

Я создал info.php:

<?php
phpinfo();
?>

чтобы выяснить, что Apache использует php7.0 вместо php7.2. Исправление тогда было довольно простым:

sudo a2enmod php7.2
sudo a2dismod php7.0
sudo service apache2 restart

После этого следующее облако сработало как положено. Мне показалось странным, что обновление dist не гарантировало, что apache использует самую последнюю версию php. Я надеюсь, что это помогает кому-то в беде :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .