WordPress.org

Make WordPress Core

Opened 5 years ago

Last modified 2 years ago

#22239 new defect (bug)

wp_ob_end_flush_all() tries to destroy non-destroyable output buffers

Reported by: dd32 Owned by:
Milestone: Awaiting Review 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)

22239.diff (645 bytes) - added by dd32 5 years ago.

Download all attachments as: .zip

Change History (5)

#1 @dd32
5 years ago

  • Summary changed from wp_ob_end_flush_all() tries to flush non-flushable buffers to wp_ob_end_flush_all() tries to destroy non-destroyable output buffers

@dd32
5 years ago

#2 @dd32
5 years ago

One option is to just silence the PHP Notice to get the message out of developers faces.. (Ignore the extra ob in the diff..)

#3 @nacin
4 years ago

  • Component changed from Warnings/Notices to Bootstrap/Load

#4 @chriscct7
2 years ago

  • Keywords has-patch needs-refresh added

Extra item in the docblock

Note: See TracTickets for help on using tickets.