Problem Nextcloud 21 und PHP8

Hallo,

ich habe Nextcloud 21.0.1 installiert auf einem Server mit Debian 10 “Buster” sowie PHP 8.0.3 (FPM) und Apache 2.4 mit MariaDB 10.3.27.

Parallel habe ich (seit längerem) auch noch PHP7.4 installiert, jedoch nicht als aktive Version. Zwei WordPress-Blogs sowie eine Friendica- und eine Matomo-Installation laufen problemlos mit PHP 8.

An sich sollte ja auch NC 21 mit PHP 8 laufen. Jedoch erhalte ich hierbei folgende Fehler:

Die Startseite meldet:

## Interner Serverfehler
Der Server konnte die Anfrage nicht fertig stellen.
Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an Deinen Server-Administrator.
Weitere Details können im Server-Protokoll gefunden werden.
### Technische Details
* Entfernte Adresse: XX.XXX.XXX.XXX
* Anfragekennung: XXX

Das error.log des Apache-Webservers meldet:

[proxy_fcgi:error] [pid 874:tid 139798542812928] [client XXX: Got error 'PHP message: PHP Fatal error: Uncaught Error: Value of type null is not callable in /var/www/nextcloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Base.php:868\nStack trace:\n#0 /var/www/nextcloud/lib/private/Security/Crypto.php(100): phpseclib\\Crypt\\Base->encrypt()\n#1 /var/www/nextcloud/lib/private/Session/CryptoSessionData.php(180): OC\\Security\\Crypto->encrypt()\n#2 /var/www/nextcloud/lib/private/Session/CryptoSessionData.php(74): OC\\Session\\CryptoSessionData->close()\n#3 [internal function]: OC\\Session\\CryptoSessionData->__destruct()\n#4 {main}\n thrown in /var/www/nextcloud/3rdparty/phpseclib/phpseclib/phpseclib/Crypt/Base.php on line 868'

Sobald ich manuell (mit entsprechender Anweisung im VHost) auf PHP7.4 umstelle, funktioniert Nextcloud wieder einwandfrei. Offenbar ist es irgendeine Einstellung von PHP8, welche die Probleme verursacht.

Hat jemand einen Tipp, wie ich dem Fehler weiter auf die Spur kommen könnte?

Danke und beste Grüße,
der regenpfeifer

1 Like

Ich habe auch im Nextcloud-Log (Verzeichns /data) nachgesehen: auch hier konnte ich nur Fehlermeldungen ähnlich der im Apache-Log finden. Es wird auch hier auf die phpseclib verwiesen, die offenbar Fehler produziert.

1 Like