2 site-breaking function calls in Powerpress
-
For about a year now, I’ve been manually patching Powerpress in order to prevent it from breaking our site. In powerpress.php, there is an indiscriminate get_terms() call that can be considered borderline malicious on large sites. We run a site with many users, using CoAuthors Plus, many tags, and other custom taxonomies. The count of our wp_terms table is over 90,000. On EVERY page load, Powerpress tries to hold and object representation of EVERY WP_Term object available in memory. On a site of our size, this is essentially a DOS attack on our database and PHP process memory. Can this please be refactored?
Here’s a snippet of where it this call is happening:
if( !empty($PowerPressTaxonomies) ) { $terms = get_terms(); $ttid_found = 0; ... }
The reason I finally posted the above is that I found a second such call in the newer version(s) of Powerpress. Thankfully, this one doesn’t break the public page views, but…the powerpressadmin_welcome() function literally tries to store an object of every post in the database in memory. Our site has 180,000+ posts, which means we can no longer access the main Powerpress admin screen (this function breaks the page even when I’ve got our PHP memory limit set to 2+ GB. Here’s the code. Why does this happen? It appears this is purely to get the most recent episode.
function powerpressadmin_welcome($GeneralSettings, $FeedSettings) { $posts = get_posts(array('numberposts' => -1)); $numEp = 0; $foundEp = false; ... }
Please patch ASAP. I’m happy to answer any questions you may have.
- The topic ‘2 site-breaking function calls in Powerpress’ is closed to new replies.