解决 openSuSE Leap 16.0 升级后 Nextcloud 服务软件报 500 错误的问题

我在内网的 openSuSE Tumbleweed 上安装了一个 Nextcloud 服务器。openSuSE Leap 16.0 作为已经发布了一段时间的经典发布版本,已经挺稳定的了,所以我就通过 YaST 变更为如下 openSuSE Leap 16.0 软件源进行升级。

https://download.opensuse.org/distribution/leap/16.0/repo/non-oss/
https://download.opensuse.org/distribution/leap/16.0/repo/oss/

然后运行命令 zypper dup 升级到 openSuSE Leap 16.0。

升级完成并重启后,应该手动切换 grub 内核启动参数,否则操作系统可能会启动失败。

切换到 openSuSE Leap 16.0 后,Nextcloud 服务器因报 http 500 错误而无法使用,浏览器显示的消息如下:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

在搜索了 apache 和 Nextcloud 的日志后,没找到什么有用的信息。谷歌一番也没找到有用的信息。实现找不到解决办法了,原来的 config.php 文件没有变更过。所以我只能重新安装一个新的服务器实例来检查是软件环境问题还是 config.php 配置文件问题。

干净安装的 Nextcloud 服务器实例运行成功了。这样我就检查了两个 config.php 文件,最终我发现移除下面这些配置就能解决问题了:

  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',

然后我检查了 openSuSE Leap 16.0 的安装包,发现官方软件源中并不包含 php8-APCu 和 php8-redis 这两个软件包,并且 redis 软件包也被移除了。我的 Nextcloud 服务器仅为个人使用,并不需要做内容缓存,所以我就果断移除了老的 config.php 配置文件中的 memcache 选项,Nextcloud 服务最终成功正常运行了。

25

Top articles