Is there a way to redirect output of an executing PHP script?
Of course this is trivial when launching the script via the command line. But how is this accomplished after the script is started?
Note: I need to capture the syntax errors and such as well.
If you want to capture parser errors, you need to:
Make sure
display_errorsisOnSet an
error_prepend_stringand anerror_append_stringCall
ob_startfrom an auto_prepend file that runs before every PHP file you might be executing.Use
set_error_handleras you normally would, and make your callback sift through the named output buffer, looking for your custom error_prepend_string and error_append_string. If you find it, then shunt your output wherever you want it. If you don’t, then let it go wherever it would normally.Most of this can be achieved through
ini_setcalls, but the auto_prepend file will need to be specified in your php.ini.