php/php-src — pull request #146 by lonnylot (2012-08-05 15:46:03+00:00)
Title: Bug 51363 var_export outputs an E_WARNING when recursion is detected

The documentation for var_export state that it does not handle circular references. However, var_export does not catch recursion. It leaves it to the zend hash functions to catch recursion. In here a E_ERROR is thrown when the recursive limit is hit.

This patch changes the var_export to detect recursion and throw a E_WARNING. E_WARNING was chosen b/c it is documented that var_export does not _handle_ recursion, but it does not say var_export will cause an E_ERROR. This also allows for user created error handlers to handle the situation.