Почему nextcloud не работает после обновления до Ubuntu 18.04 dist?
Недавно я обновил dist на своей следующей машине с 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 ответ
Я создал info.php:
<?php
phpinfo();
?>
чтобы выяснить, что Apache использует php7.0 вместо php7.2. Исправление тогда было довольно простым:
sudo a2enmod php7.2
sudo a2dismod php7.0
sudo service apache2 restart
После этого следующее облако сработало как положено. Мне показалось странным, что обновление dist не гарантировало, что apache использует самую последнюю версию php. Я надеюсь, что это помогает кому-то в беде:)