Opened 11 years ago
Last modified 5 years ago
#22239 new defect (bug)
wp_ob_end_flush_all() tries to destroy non-destroyable output buffers
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | |
Component: | Bootstrap/Load | Keywords: | has-patch needs-refresh |
Focuses: | Cc: |
Description
wp_ob_end_flush_all()
currently tries to flush & destroy every PHP Output buffer that is enabled on the current installation.
However, not every type of PHP Output buffer can be destroyed, which will cause a PHP Notice when attempts to do so are made.
An example of this is PHP extensions such as New Relic, or PHP output buffers created with the $erase
flag set to false in ob_start()
An example is when New Relic is installed on a host, also see New Relics FAQ entry on the issue.
( ! ) Notice: ob_end_flush(): failed to send buffer of New Relic auto-RUM (1) in ../trunk/wp-includes/functions.php on line 2641 Call Stack # Time Memory Function Location 1 0.8510 4328360 shutdown_action_hook( ) ../load.php:0 2 0.8510 4328440 do_action( ) ../load.php:556 3 0.8510 4329856 call_user_func_array ( ) ../plugin.php:406 4 0.8510 4329888 wp_ob_end_flush_all( ) ../plugin.php:406 5 0.8511 4330064 ob_end_flush ( ) ../functions.php:2641
Somewhat similar to #18239
I'm not sure of what the ideal solution for this would be for WordPress, but wanted to record the issue being known.
Attachments (1)
Change History (5)
Note: See
TracTickets for help on using
tickets.
One option is to just silence the PHP Notice to get the message out of developers faces.. (Ignore the extra
ob
in the diff..)