Spring Sale! Save 30% on all books w/ code: PLANET24
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:

Download PHP Memory Control PackVersion 1.0 ( 597 bytes 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>

About the Author
Jeff Starr = Web Developer. Security Specialist. WordPress Buff.
WP Themes In Depth: Build and sell awesome WordPress themes.

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

  1. Thanks Jeff.
    Tagged !

  2. 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. You’re welcome — glad to be of service! :)

  5. This solved my problem!
    Appreciate your help!

    Thanks a lot!

  6. 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. 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 »
Banhammer: Protect your WordPress site against threats.
Thoughts
I live right next door to the absolute loudest car in town. And the owner loves to drive it.
8G Firewall now out of beta testing, ready for use on production sites.
It's all about that ad revenue baby.
Note to self: encrypting 500 GB of data on my iMac takes around 8 hours.
Getting back into things after a bit of a break. Currently 7° F outside. Chillz.
2024 is going to make 2020 look like a vacation. Prepare accordingly.
First snow of the year :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.