TYPO3/Function nesting level problems

From Aimeos documentation

Other languages:
Deutsch 100% • ‎English 100% • ‎русский 33%

New TYPO3 versions use Fluid, the template engine of the new web application framework named FLOW. It provides a XML syntax for calling functions inside the template to generate the HTML code.

Fluid doens't work correctly when XDebug is installed because XDebug limits the number of nested function calls to 100 by default. This problem is related to TYPO3 and PHP but not to Aimeos itself but the TYPO3 extension uses Fluid for the administration interface view.

You can fix the problem by removing the PHP XDebug extension from being loaded when processing requests by the web server or by setting the the xdebug.max_nesting_level configuration option to a higher value.

To increase the nesting level you can add this line to your .htaccess file:

  1. php_value xdebug.max_nesting_level 400

You can also add this directive to your Apache VHost configuration file directly if you want to avoid .htaccess files. For Nginx web servers you have to add the following line to the server configuration because it doesn't support .htaccess files:

  1. fastcgi_param PHP_VALUE xdebug.max_nesting_level=400;

XDebug also slows down the processing of the PHP code by a factor of 2 even if no files are generated. The only way to avoid this is to disable XDebug completely. Alternative PHP profiler like xhprof only have an overhead of 5-10%.