Plugin Sale! Save 15% on pro plugins with discount code: FALL2020
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. Security Specialist. WordPress Buff.
.htaccess made easy: Improve site performance and security.

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 »
Blackhole Pro: Trap bad bots in a virtual black hole.
Thoughts
Air finally clearing here in WA. Feeling grateful to breathe again. #oxygenmatters
Past week here in WA state has been hellish. So much smoke, like living in a chimney.
Now in September, I’m where I wanted to be in March.
Spent some time updating my article on unsafe characters, once again current with latest IETF specification.
Just realized that “Neo” is an anagram for “One”. As in, “he is the One” (The Matrix).
To get VLC app to load all songs (including subfolders), go to Preferences ▸ Show All ▸ Playlist ▸ Subdirectory behavior ▸ Expand.
Switching from PhotoShop to Affinity Photo is one of the most liberating work-related things I've done in 20 years.
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.