为什么 dist 升级到 Ubuntu 18.04 后 nextcloud 无法工作?

为什么 dist 升级到 Ubuntu 18.04 后 nextcloud 无法工作?

我最近将我的 nextcloud 机器从 Ubuntu 16.04 升级到 Ubuntu 18.04。之后,当我尝试访问 nextcloud 时,我收到“内部服务器错误”。我在 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 安装的,这是 Ubuntu 所指的 php 版本(用 检查php -v)。

我找到了不使用库的原因。我想分享解决方案,以便其他人遇到这种情况时可以更轻松地解决问题。

答案1

我创建了一个 info.php:

<?php
phpinfo();
?>

发现 Apache 使用的是 php7.0 而不是 php7.2。修复方法很简单:

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

此后,nextcloud 工作正常。我发现 dist 升级无法确保 apache 使用最新版本的 php,这很奇怪。希望这能帮助遇到麻烦的人 :)

相关内容