php/php-src — pull request #147 by lonnylot (2012-08-05 15:51:50+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 varexport 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.