PHP Maximum function nesting: Limit für nesting functions für TYPO3 in Verbindung mit Xdebug erhöhen

Von Roland Golla
0 Kommentar
PHP Maximum function nesting

Wenn man das PHP Maximum function nesting Limit erreicht, dann ist das normalerweise kein gutes Zeichen. Nutzt man allerdings komplexe Systeme, wie das CMS TYPO3, dann kann das schon mal passieren. In der offiziellen Doku von dem Content Management System ist das glaube ich auch irgendwo beschrieben. Konkret sieht das bei der error Ausgabe oder im Error Log dann so aus.

Fatal error: Maximum function nesting level of ‚100‘ reached, aborting!

php.ini Einstellung für Nesting Level für TYPO3 und Xdebug erhöhen

 xdebug.max_nesting_level = 200
PHP Maximum function nesting
PHP Maximum function nesting

Jeder PHP Entwickler freut sich außerordentlich über die tollen Möglichkeiten in einer PHP Entwicklungsumgebung mit Xdebug. Arbeitet man allerdings zusätzlich noch in Verbindung mit einem TYPO3 CMS System ist das Limit für verschachtelte Funktionsaufrufe – nesting level – sehr schnell erreicht. Das trifft natürlich in diesem Fall nicht nur auf TYPO3, sondern auch auf andere Content Management Systeme oder komplexere Applikationen gegebenenfalls mit dem Zend Framework zu. Mit dem PHP Framework Codeigniter wird dieses Limit zum Beispiel nicht so schnell erreicht. Aber es hängt natürlich immer vom Anwendungsfall ab und es ist auch klar warum das – nesting level – Default auf 100 steht. Hier wird der Rechenleistung in der PHP Entwicklungsumgebung schon eine Menge abverlangt. Daher darf man sich nicht wundern, wenn man das Level hoch setzt, daß man gegebenenfalls eine scheinbare Endlosschleife laufen lässt und die Applikation von selber nicht mehr abbricht. In Entwicklungsumgebungen sind in der Regel auch die max_execution_time und das memory_limit hoch gesetzt worden. Diese Kombination kann einen Neustart des Apache Servers verlangen, falls man aus dem Laden nicht mehr rauskommt.

Tutorials und Top Posts

Gib uns Feedback

Diese Seite benutzt Cookies. Ein Akzeptieren hilft uns die Seite zu verbessern. Ok Mehr dazu