We help IT Professionals succeed at work.

current buffer

tonelm54
tonelm54 asked
on
Im writing a debug function, which I want to collect as much information as possible to debug a site which is having some trouble (but cant find out whats happening as the issue is intermittent).

To troubleshoot I want to see what is happening, so going to record a users path through the website and then when the error occurs I can trace back and look at whats going on.

What I would really like to do is actually record the HTML sent to the user. Is this possible to capture into a string without having to change all my echo and prints to a string?

Im using the php function 'register_shutdown_function' to record all this information, so Im hoping the buffer is stored somewhere.

Any advise?

Thank you
Comment
Watch Question

Most Valuable Expert 2011
Top Expert 2016
Commented:
You can use output buffering.  Add ob_start() to the logical top of the page.  At the logical end of the page, you can capture the contents of the buffer with ob_get_contents() and you can write this to the log.  Then when the PHP script ends, the buffer will be sent to the client, just like any other web page.  Output buffering may make the site perform better, too.
http://php.net/manual/en/ref.outcontrol.php