[wp-trac] [WordPress Trac] #11843: htaccess pointing to wordpress makes CPU overload
    WordPress Trac 
    wp-trac at lists.automattic.com
       
    Sat Jan  9 21:09:58 UTC 2010
    
    
  
#11843: htaccess pointing to wordpress makes CPU overload
-----------------------------+----------------------------------------------
 Reporter:  cisoprogressivo  |       Owner:                     
     Type:  defect (bug)     |      Status:  new                
 Priority:  normal           |   Milestone:  Unassigned         
Component:  General          |     Version:  2.9.1              
 Severity:  normal           |    Keywords:  htaccess, premalink
-----------------------------+----------------------------------------------
Comment(by Denis-de-Bernardy):
 What the message means, is, if you have your host enable the apache
 functions, WordPress will detect mod_rewrite using apache_mod_loaded()
 instead of trying to find it using phpinfo() and an output buffer. The
 latter method fails (as done on your server) when phpinfo() doesn't return
 the apache modules. (Thanks for the feedback, too. It helps to know it
 wasn't clear enough.)
 I'm suspecting it's the issue, too. I'm assuming this is a live server, so
 let's try a live diagnosis. In functions.php, there is a
 apache_mod_loaded() function:
 {{{
 function apache_mod_loaded($mod, $default = false) {
         global $is_apache;
         if ( !$is_apache )
                 return false;
         if ( function_exists('apache_get_modules') ) {
                 $mods = apache_get_modules();
                 if ( in_array($mod, $mods) )
                         return true;
         } elseif ( function_exists('phpinfo') ) {
                         ob_start();
                         phpinfo(8);
                         $phpinfo = ob_get_clean();
                         if ( false !== strpos($phpinfo, $mod) )
                                 return true;
         }
         return $default;
 }
 }}}
 get_mod_rewrite() calls it with a default of true.
 please change:
 {{{
                         $phpinfo = ob_get_clean();
                         if ( false !== strpos($phpinfo, $mod) )
                                 return true;
 }}}
 to:
 {{{
                         $phpinfo = ob_get_clean();
 $count = get_option('check_mod_rewrite_counts');
 update_option('check_mod_rewrite_counts', ++$count);
                         if ( false !== strpos($phpinfo, $mod) )
                                 return true;
 }}}
 then in wp-config.php, *after* WP is loaded, add:
 {{{
 if ( isset($_GET['test']) )
   echo get_option('check_mod_rewrite_counts');
 }}}
 and then visit yoursite.com?test
 It might be that your site is calling the mess on every page load for some
 reason.
-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/11843#comment:10>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
    
    
More information about the wp-trac
mailing list