Skip to content

Unix & Linux

Beastie und Penguin. Ein Weblog für FreeBSD und Linux.

Menu
  • Startseite
  • FreeBSD
  • Linux
  • Windows
  • Anwendungen
  • Befehle
  • Shell
  • Web
  • Allgemein
  • Impressum
  • Meine 5 Unix-Regeln für das Leben!
Menu

Fehler mit „Nested level too deep“ in php lösen, aber richtig!

Posted on 23. Januar 202323. Januar 2023 by Robert Friemer

Neulich habe ich den Webserver auf PHP8 bringen müssen. Nextcloud sollte dann schneller laufen. Die Version PHP74 war auch wirklich nicht mehr die Neueste.

Also habe ich mich entschlossen, PHP8.1 zu installieren. Nach dem PHP8 installiert war, habe ich gemerkt, dass zwar das Anmeldefenster von Nextcloud kam, aber wenn ich mich anmelden wollte, dann wurde das Browser-Fenster Weiß und nichts passiert mehr. Böd!

Ein Blick in das error.log der Cloud gab folgenden Hinweis.

2023/01/23 16:47:01 [error] 90172#101160: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Nesting level too deep - recursive dependency? in /home/www-root/nextcloud/lib/private/Log/ExceptionSerializer.php on line 215" while reading response header from upstream, client: xx.xxx.xxx.xx, server: nextcloud, request: "POST /login HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "nextcloud"

So, jetzt war Dr.Google gefragt. Nach einiger Recherche, war ich aber mit dem Ergebnis nicht zufrieden. Dort wurden folgende Tipps gegeben:

  • Bestimmte Apps sollten deaktiviert werden, z.B. Circle. Das Blöde ist nur, dass ich Circle gar nicht verwende
  • Ein anderer Tipp war, die entsprechenden Codezeile auszukommentierten, und …

HALT

Ich empfehle Jedem, der dies vor hat, sofort die Hände von der Tastatur zu nehmen und sich erst einmal von Links und Rechts abzuwatschen!!!

Nein, so etwas macht man nicht!

Ein guter Admin deaktiviert nicht Code in einer Applikation. Diesen Spaß hatte ich schon vor Jahren gemacht und dieser bringt nur Ärger, weil dieser sich später rächen wird und dann weiß man nicht mehr, was man in der Applikation geändert hat.

Bei FreeBSD und ich denke, dass es dies auch in anderen Distributionen gibt, gibt es 2 Versionen der php.ini. Eine für die Entwicklung (php.ini-development) und eine für den laufenden Betrieb (php.ini-production). Zu finden sind diese bei FreeBSD unter /usr/local/etc.

Ein Unterschied (es gibt da mehrere) dieser php.ini-Dateien ist folgender Eintrag:

; Allows to include or exclude arguments from stack traces generated for exceptions.
; In production, it is recommended to turn this setting on to prohibit the output
; of sensitive information in stack traces
; Default Value: Off
; Development Value: Off
; Production Value: On
zend.exception_ignore_args = Off

Sieht dieser Eintrag in der php.ini so aus, dann hat man die php.ini-development zur php.ini gemacht. Für einen Webserver, der an das Internet angeschlossen ist, ist diese Einstellung nicht zu empfehlen, da ein Besucher sich darüber auch Daten und Einstellungen könnte. Die php.ini-production wurde aus bestimmten Grund so eingerichtet.

Betrachtet man die php.ini-production, dann findet man dort folgenden Eintrag:

; Allows to include or exclude arguments from stack traces generated for exceptions.
; In production, it is recommended to turn this setting on to prohibit the output
; of sensitive information in stack traces
; Default Value: Off
; Development Value: Off
; Production Value: On
zend.exception_ignore_args = On

Meine Empfehlung ist, hier, falls nicht noch weitere Einträge in der php.ini geändert wurden, die php.ini mit der php.ini-production auszutauschen oder diesen Eintrag auf „On“ zu setzen.

Anschließend reicht es, wenn man der php-fpm neu startet.

Anschließend klappte es wieder mit der Nextcloud. Gott sei Dank.

Robert Friemer

Robert Friemer

Ich arbeite seit Windows for Workgroups 3.11, mit Linux seit Version 2.0 und mit FreeBSD seit Version 3.8. In der IT habe ich schon so einige Irrungen und Wirrungen kommen und gehen gesehen. Und ist seit einigen Jahren arbeite ich (fast) Windows-los. Der kleine Daemon ist für mich mittlerweile ein treuer und zuverlässiger Begleiter in der IT geworden.

More Posts - Website

Kategorien

  • Allgemein (20)
  • Anwendungen (17)
  • Befehle (26)
  • bhyve (8)
  • Firewall (11)
    • Ports (7)
  • FreeBSD (38)
  • Jails (4)
  • Linux (5)
  • Plasma (3)
  • Projekte (6)
  • Python (1)
  • Shell (15)
  • Sicherheit (11)
  • Web (8)
  • Windows (8)

Archiv

  • Juni 2025 (1)
  • Mai 2025 (2)
  • Januar 2025 (1)
  • Dezember 2024 (4)
  • November 2024 (1)
  • Oktober 2024 (3)
  • September 2024 (1)
  • Mai 2024 (1)
  • April 2024 (1)
  • März 2024 (2)
  • Januar 2023 (1)
  • Mai 2022 (1)
  • April 2022 (1)
  • März 2022 (2)
  • Mai 2021 (2)
  • November 2020 (1)
  • Oktober 2020 (1)
  • Juli 2020 (1)
  • Juni 2020 (5)
  • April 2020 (1)
  • Dezember 2018 (1)
  • September 2018 (1)
  • November 2017 (1)
  • August 2017 (1)
  • Juni 2017 (1)
  • Dezember 2016 (1)
  • Mai 2016 (3)
  • März 2016 (1)
  • Februar 2016 (1)
  • Januar 2016 (1)
  • Dezember 2015 (1)
  • Oktober 2015 (2)
  • September 2015 (1)
  • Juni 2015 (3)
  • Mai 2015 (2)

Suche

Robert Friemer

Schlagwörter

.pkgsave 22 25 53 80 110 123 143 443 465 576 993 995 1194 Falsches Keyboard-Layout Fehler Firewall FreeBSD FreeBSD 10 FreeBSD Backup grundsätzliche Ports keine Eingabe Keyboard Layout Login Mail NTP openVPN Plasma Plasma5 Port Ports Secure Shell Sicherheit SSH System wieder herstellen Tastatur Tastatur kaputt TCP UDP Unsichere Router USB-Audio Webserver absichern Webserver Sicherheit Zeit-Server
©2025 Unix & Linux | Built using WordPress and Responsive Blogily theme by Superb