[wp-trac] [WordPress Trac] #15044: apache_mod_loaded fails due to ob_get_clean behavior on some servers

WordPress Trac wp-trac at lists.automattic.com
Thu Oct 7 13:13:10 UTC 2010


#15044: apache_mod_loaded fails due to ob_get_clean behavior on some servers
---------------------------+------------------------------------------------
 Reporter:  hamfastgamgee  |       Owner:                   
     Type:  defect (bug)   |      Status:  new              
 Priority:  normal         |   Milestone:  Awaiting Review  
Component:  General        |     Version:  3.0.1            
 Severity:  major          |    Keywords:  reporter-feedback
---------------------------+------------------------------------------------

Comment(by hamfastgamgee):

 Replying to [comment:3 nacin]:
 > We use ob_get_clean() in more than a half-dozen places in core. So I'm
 willing to guess it isn't that. That also tells me that we wouldn't make
 this change without sound reasoning and a way to reproduce the issue,
 otherwise we may just end up using ob_get_clean() back again at a later
 time.
 >
 > The PHP 5.2.10 release announcement lists a memory leak in
 ob_get_clean() as a fix. I don't have 5.2.9 to test on at the moment, but
 I can try to get it fired up, maybe that is the issue (but doubtful). Can
 you test ob_get_clean() on a regular PHP file on that server and see what
 is up?

 Well, the WP System Health plugin actually says I'm running on 5.2.14,
 despite what Green Geeks phpinfo says, so maybe their hosted sites get a
 newer version of PHP than their main site uses? :)  That would seem to
 rule out 5.2.9 as a direct problem.

 Anyway, yes, I would definitely agree with the assessment that since
 ob_get_clean is used elsewhere for areas that are not failing that
 something else is likely going on, or maybe there's a circumstance to the
 phpinfo parsing that causes this to fail in this particular code.
 However, I know for a fact that using ob_get_contents and ob_end_clean
 instead of ob_get_clean in this one location does in fact solve the
 problem, even though those statements are, according to PHP, supposed to
 be more or less identical.

 Here are some support forum links for exactly the same problem as I am
 describing:
 http://wordpress.org/support/topic/permalink-settings-page-is-blank-wp-292
 http://wordpress.org/support/topic/blank-media-window-mac-upload
 http://wordpress.org/support/topic/permalinks-settings-page-is-blank
 http://wordpress.org/support/topic/mac-osx-amp-php-532-uploading-images

 Some of those pages suggested that 5.2.13 was fine and 5.3.2 was broken.
 No idea what kind of bearing that has on 5.2.14.

 I'm not much of a PHP hacker (I'm a professional software developer but
 not experienced in PHP), so I'm not sure how to proceed to actually debug
 the real failure.  (A friend of mine who is a PHP hacker for his day job
 hypothesized that multiple headers were getting sent and somehow this
 caused ob_get_clean to not properly close the output buffer.)  I just know
 I fixed it on my server by the change indicated, but I don't want to hand
 the site over to the non-technical maintainers without some hope that
 future upgrades to Wordpress will just re-break their site. :)

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/15044#comment:4>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list