Save 15% on our Pro WordPress plugins with discount code: LAUNCH2021
Web Dev + WordPress + Security

WordPress Error Fix(?): Increase PHP Memory for cache.php

This trick isn’t guaranteed to prevent all WordPress-generated PHP memory errors, but it certainly seems to help reduce their overall occurrence. For some reason, after my host upgraded their servers to Apache 1.3.41, I began logging an extremely high number of fatal PHPmemory exhausted” errors resulting from the WordPress cache.php script. Here is an example of the countless errors that are generated:

[17-Feb-2008 19:26:38] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6233929 bytes) in /home/.../press/wp-includes/cache.php on line 330
[17-Feb-2008 19:30:57] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6327989 bytes) in /home/.../press/wp-includes/cache.php on line 330
[17-Feb-2008 19:33:35] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6253909 bytes) in /home/.../press/wp-includes/cache.php on line 330
.
.
.
[ + lots more ]
.
.
.
[17-Feb-2008 19:36:19] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6253069 bytes) in /home/.../press/wp-includes/cache.php on line 330
[17-Feb-2008 19:37:10] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6379449 bytes) in /home/.../press/wp-includes/cache.php on line 330
[17-Feb-2008 19:37:56] PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 6263789 bytes) in /home/.../press/wp-includes/cache.php on line 330

After researching online and learning that I am not alone with this issue, I deployed a threefold defense strategy to eliminate future memory conflicts related to the now-infamous cache.php pandemic. First, open the file wp-includes/cache.php and place the following code immediately after the opening <?php tag:

ini_set('memory_limit','32M'); // set memory to prevent fatal errors

After that, create an htaccess file for the wp-includes directory and insert the following directive:

# set memory limit for cache.php
php_value memory_limit 32M

Finally, create a local php.ini file in the same directory (wp-includes) and insert this:

;; set memory limit for cache.php
memory_limit = 32M

And that’s it. Save, upload, test and check for additional errors. If necessary, you may wish to try alternate values for the memory limit. I am not positive, but I think that valid values include 8, 12, 16, 32, 64, 128, ...etc., but the upper limit will vary depending on your server settings. Like I said, it doesn’t always work, but it definitely seems to help reduce the overall volume of memory-related errors in certain environments.

Download

To help speed up the process, I have zipped a complete set of the three required files in their respective formats. Simply unzip, upload and done:

PHP Memory Control Pack Version 1.0 (597B zip)

Note: If you happen to have absolutely any idea(s) as to why this problem continues to occur, there is a growing number of WordPress users (myself included) that are desperate for the answer. As mentioned in the article, increasing/limiting PHP memory (via any method) does not always work. Unfortunately, many users continue to log hundreds of these errors every day. Any clues and/or alternate fixes are more than welcome!</note>

Jeff Starr
About the Author
Jeff Starr = Web Developer. Book Author. Secretly Important.
The Tao of WordPress: Master the art of WordPress.

9 responses to “WordPress Error Fix(?): Increase PHP Memory for cache.php”

  1. Thanks Jeff.
    Tagged !

  2. Jeff Starr
    Perishable 2008/02/18 9:20 am

    My pleasure! :)
    I hope someone finds a more permanent solution for it!

  3. puredoxyk 2008/03/19 5:46 am

    WOW, lovely — fast and easy and worked like a charm. Thanks much!!

  4. Jeff Starr

    You’re welcome — glad to be of service! :)

  5. This solved my problem!
    Appreciate your help!

    Thanks a lot!

  6. Jeff Starr
    Perishable 2008/04/06 8:49 am

    Excellent — great to hear to got it working! Thanks for the feedback!

  7. Worked Great! Thanks for the info!

  8. Jeff Starr
    Perishable 2008/04/20 8:17 am

    My pleasure — thanks for the feedback! :)

  9. Thank you so much!

Comments are closed for this post. Something to add? Let me know.
Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
GA Pro: Add Google Analytics to WordPress like a pro.
Thoughts
WP 5.8 Gutenberg/Block Widgets is breaking many sites. Fortunately Disable Gutenberg makes it easy to restore Classic Widgets with a click.
Easily the most common exploit scan for WordPress is /{path}/wp-login.php.
Pushing 110+ ℉ for several days now, expected for at least another week or so.
After 12 intense weeks the Plugin Planet redesign is now live. Much work still happening behind the scenes.
June, July, August historically are slow months on the Web. Perfect time to get some real work done (think projects).
Redesigning Plugin Planet is one the most challenging things I’ve done online. Almost there, about another two weeks ’til launch.
I could listen to Mouse Rat all day.
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.