NC lÀuft nicht mit PHP 8 auf Shared Hosting

Mehrere NC Installationen laufen einwandfrei unter PHP 7.4 auf meinem Shared Hosting. Bei der Umstellung auf PHP 8 tritt in der Dateiansicht und bei den Einstellungen ein Internal Server Error auf. Eine Neuinstallation ohne zusĂ€tzliche Apps brachte keine Lösung. Laut Provider greift NC auf PHP-Funktionen zurĂŒck, die aus SicherheitsgrĂŒnden nicht freigegeben werden können. Unter PHP 7.4 ist das fĂŒr NC kein Problem, aber unter PHP 8 kommt es zu einem Internal Server Error. Das ist vielleicht ein Punkt, den die Entwickler von NC berĂŒcksichtigen sollten, denn das könnte viele User betreffen, die NC auf einem Shared Hosting installieren wollen. Wenn jemand dafĂŒr eine Abhilfe weiß, wĂ€re ich dafĂŒr natĂŒrlich sehr dankbar! LĂ€uft bei jemandem NC auf einem Shared Hosting unter PHP 8?

ich vermute. dass erst NC23 PHP8 voraussetzt bzw es dazu empfohlen wird.
FĂŒr NC22 wird noch 7.4 empfohlen.

Das kann natĂŒrlich sein. Ich habe jetzt mal auf meiner Testinstallation auf NC 23.0.0 RC2 upgegraded. Das hat den Fehler einstweilen noch nicht behoben.

Kennst du diese Funktionen? Kannst du sie in Erfahrung bringen? Und wenn man die Software anpassen mĂŒssete, mĂŒsste man einen Issue einstellen.

Also bei mir lÀuft NC22 (fast) problemlos mit PHP8.
Nur der Aufruf von “occ” auf der Kommandozeile und der cron-Aufruf braucht fĂŒr PHP8 etwas “Tuning” (zusĂ€tzliche Argumente), damit es ohne Warnung/Fehlermeldung funktioniert.

Mein Shared-Hoster ist Webgo


Der Hoster hat das Problem analysiert und ein Issue gepostet:

Das Grundproblem besteht darin das PHP >= 8 bei der Verwendung von @disk_free_space kein Warnung sondern einen error inkl. exit bringt. Das verursacht dann den Nextcloud internen 500er, da diese Funktion gesperrt ist. Generell sollte somit die Verwendung von @function vermieden und gegen “if (function_exists(‘function’)” ersetzt werden.

1 Like

Finde ich super, dass der Provider ein Issue eingestellt hat.

Du kannst natĂŒrlich mal manuell am Sourcecode was Ă€ndern und schauen, ob es dann lĂ€uft. Vielleicht findest du weitere Stellen im Code, die auch angepasst werden mĂŒssen. Dann könnte man das vielleicht direkt im Issue noch hinzufĂŒgen und somit den Aufwand fĂŒr die Behebung des Fehlers minimieren.

Ich habe diese Änderung im Sourcecode vorgenommen:

und es lÀuft! :grinning:

Danke an die Leute von WebHostOne, die sich die MĂŒhe gemacht haben, dem Problem auf den Grund zu gehen. :+1:

1 Like