TYPO3 Exception 1242292003

could not determine type of argument "section" of the render-method in ViewHelper "Tx_Fluid_ViewHelpers_RenderViewHelper"

This exception is thrown if the PHPDoc @param entry in a Fluid ViewHelper is incorrect or if you are using a PHP optimizer with opcode caching like the builtin Opcache and have disabled the storing of PHPDoc blocks. Fluid ViewHelpers needed the PHPDoc entries to determine the data type (in older TYPO3 versions).

#1242292003: could not determine type of argument "section" of the
  render-method in ViewHelper "Tx_Fluid_ViewHelpers_RenderViewHelper".
Either the methods docComment is invalid or some PHP optimizer strips off
  comments.
Copied!

Solution:

  1. check PHPDoc block, it must start with ** (two stars).
  2. attribute must be mentioned as @param type $variableName.
  3. alternatively use $this->registerArgument() in initializeArguments() method.
  4. If using eAccelerator: compile eAccelerator with option "--with-eaccelerator-doc-comment-inclusion": "If you want eAccelerator to retain doc-comments in internal php structures" (eAccelerator help)
  5. Use another PHP optimizer. I use xCache on Debian Squeeze which seems to work fine.
  6. using the opcode cache of modern PHP versions, you can set opcache.save_comments=1 (and opcache.load_comments=1 in PHP < 7.0).

Links: