[wp-trac] Re: [WordPress Trac] #4597: Change require to require_once for db.php

WordPress Trac wp-trac at lists.automattic.com
Mon Jul 9 12:59:27 GMT 2007

#4597: Change require to require_once for db.php
 Reporter:  intoxination                    |        Owner:  anonymous  
     Type:  defect                          |       Status:  new        
 Priority:  normal                          |    Milestone:  2.3 (trunk)
Component:  General                         |      Version:  2.2.1      
 Severity:  normal                          |   Resolution:             
 Keywords:  has-patch wp-settings database  |  
Comment (by intoxination):

 Sure - (it has been a nightmare). We have 2 sites running on a 8 core
 XServer OSX with Apache 2.2.4 and PHP 5.2.3 W/Eaccelerator. We are also
 using the HyperDB class. At very random times, the site would start giving
 blank pages. No error, no return header, no nothing. It happened to
 different users on different browsers and different pags (ie: the front
 page would be fine. The single post page would be fine in IE7, but in FF
 it would not show, until you clear the cookies out for commenting - no
 login cookies. In Opera it would give a connection refused).

 I ended up installing WP 2.2.1 on a new sub-domain on the machine and left
 everything at default. It wouldn't act up. After a couple of days, I added
 HyperDB back in. Problem pops-up.

 Thinking it was something with HyperDB, I replicated everything on my home
 Ubuntu box (including updating PHP and Apache to the same versions plus
 adding Eaccelerator). Everything continued to work fine. I even simulated
 load using siege along with AB. Still fine.

 Finally we turned off EAccelerator on the main server. We then started
 getting "can not redeclare class WPDB" errors every couple of hundred hits
 or so (we are talking one site that does 300,000+ page views a day and
 another that averages close to 100,000 page views a day so these errors
 popped up every 5 -15 minutes or so). These would also appear on various
 pages (and even on /wp-admin/index.php and once on wp-cron.php).

 Back to my test box. I killed Eaccelerator, ran back through thousands of
 hits with siege and AB simulating commenting, reading different pages,
 etc. The error never happened.

 I changed the require to require_once and so far it has been running 36
 hours with no problem.

 So it appears to be something happening in OSx running PHP 5.2.3. I know
 they had similar problems in 5.2.2 that were supposed to be fixed in
 5.2.3. It looks like a bug still got through. I want to do more testing
 and nail it down more to make sure of this. It sucks that it happens so
 randomly. I would install XDebug and trace everything, but since there can
 be a couple thousand hits before the problem, it would be a nightmare to
 find as well as a huge hit on the hard drive hehe.

 I know the description is long, but not nearly as long as the past 2 weeks
 have been trying to find this LOL.

Ticket URL: <http://trac.wordpress.org/ticket/4597#comment:2>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list