Title: wp-cache-config.php file getting Corrupted
Last modified: September 21, 2017

---

# wp-cache-config.php file getting Corrupted

 *  Resolved [ofTherapistSummers](https://wordpress.org/support/users/samisummerstssp/)
 * (@samisummerstssp)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/)
 * Recently (starting on the 4th of this month from what I can see), the …/wp-content/
   wp-cache-config.php file has been becoming corrupted every few days (virtually
   at random from what I can see). This issue has not happened in the past and I’ve
   had the WP Super Cache plugin installed and active for almost 2 years.
 * What I am seeing are parts of the coding in the file being replaced with:
 * `����������������������������������������������������������������������������
   �����������������������������������������������������������������������������
   �����������������������������������������������������������������������������
   �����������������������������������������������������������������������������
   ������������������������������������������������������������������������$wp_`
 * Depending on where the corruption occurs in the file it can cause certain parts
   of the site to not work, or, at times, it can cause every page to throw a 500
   error.
 * The error shown in my PHP Error Log is usually a Syntax Error due to these unexpected
   strings of REPLACEMENT CHARACTERS. This is only happening to this one file as
   far as I can tell.
 * I have not installed any new plugins, nor have I made changes to the WP Super
   Cache settings.
 * When the error arises, I remove the corrupted code, clear the cache from the 
   dashboard, and then everything works fine again for a day or so (sometimes it
   is several days until it happens again) and then the corruption happens all over
   again (usually in a different part of the file, sometimes affecting 2 areas of
   the file and with different numbers of the REPLACEMENT CHARACTER).
 * What could be causing this issue?
 * Thank you in advance.

Viewing 11 replies - 1 through 11 (of 11 total)

 *  [Saša](https://wordpress.org/support/users/stodorovic/)
 * (@stodorovic)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9518535)
 * Hi [@samisummerstssp](https://wordpress.org/support/users/samisummerstssp/)
 * There are a lot of similar issues, but I can’t reproduce it. I’m guessing that’s
   trouble with these lines in function `wp_cache_replace_line`:
 *     ```
               $lines = file($my_file);
               foreach( (array)$lines as $line ) {
       ```
   
 * Problem could be when file returns false. I’ll try to replace this block with:
 *     ```
              $lines = file($my_file);
               if ( empty( $lines ) || !is_array( $lines ) ) {
                       return false;
               }
               foreach( (array)$lines as $line ) {
       ```
   
 * I don’t see anything else for now. Please try this code and I’ll create issue
   on github if we find out more details. It’s possible to we add code for logging
   result of function `file` in debug.log if you want.
 * Regards,
    Sasa
 *  Thread Starter [ofTherapistSummers](https://wordpress.org/support/users/samisummerstssp/)
 * (@samisummerstssp)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9518559)
 * Thank you for the swift reply.
    I have a stupid question though… Which file is
   the function located in that you wanted me to change?
 * EDIT::
    Forget my question. I found the code you were speaking of. I will swap
   out the code for the one you suggested and see if the issue happens again. Thank
   you again!
    -  This reply was modified 8 years, 8 months ago by [ofTherapistSummers](https://wordpress.org/support/users/samisummerstssp/).
 *  [Saša](https://wordpress.org/support/users/stodorovic/)
 * (@stodorovic)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9518606)
 * Sorry, I forgot to write it.
    It’s [wp-cache.php](https://github.com/Automattic/wp-super-cache/blob/master/wp-cache.php#L2199-L2241)
   in /wp-content/plugins/wp-super-cache
 * If you want, you can set DEBUG mode (with logging into file) – [https://codex.wordpress.org/WP_DEBUG](https://codex.wordpress.org/WP_DEBUG):
 *     ```
       define('WP_DEBUG', true);
       define('WP_DEBUG_DISPLAY', false);
       define('WP_DEBUG_LOG', true);
       ```
   
 * I’ll try to write additional PHP snippet which will log changes for wp-cache-
   config.php. Maybe we can find root of cause on this way.
 *  [lbracci](https://wordpress.org/support/users/lbracci/)
 * (@lbracci)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9522622)
 * I want to report the same problem. In the Dashboard, Wp-Super-Cache gives an 
   error message about an erroneus value (/) for the $cache_path variable, and the
   plugin is shown as disabled. When I checked the wp-cache-config.php file, this
   was their partial content:
 *     ```
       $super_cache_enabled = true; //Added by WP-Cache Manager
       $wp_cache_mobile_groups = ''; //Added by WP-Cache Manager
       $wp_cache_home_path = '/'; //Added by WP-Cache Manager
       ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@$
       // Disable the file locking system.
       // If you are experiencing problems with clearing or creating cache files
       // uncommenting this may help.
       $wp_cache_mutex_disabled = 1; //Added by WP-Cache Manager
       ```
   
 * As you can see, the null characters overwrote $cache_path and other variables,
   causing the error messages. I uninstalled and reinstalled the plugin, but the
   problem keeps happening approximately every two days.
 * Temporary I’ve chmoed the wp-cache-config.php file, making it read-only.
    -  This reply was modified 8 years, 8 months ago by [lbracci](https://wordpress.org/support/users/lbracci/).
    -  This reply was modified 8 years, 8 months ago by [lbracci](https://wordpress.org/support/users/lbracci/).
 *  [davidtrebacz](https://wordpress.org/support/users/davidtrebacz/)
 * (@davidtrebacz)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9541091)
 * I experienced corruption twice since the update. Site is stable then all of a
   sudden wp-cache-config.php becomes corrupt and breaks the entire site. In my 
   case the corruption is the first few characters are replaced “<?php /*” are replaced
   with garbage characters.
 * There is no active changes to site configuration when this occurs.
 *  [celeph](https://wordpress.org/support/users/celeph/)
 * (@celeph)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9542338)
 * I have experienced the same issue with one of our domains. The site was still
   accessible but I couldn’t login anymore because WordPress could not set cookies
   due to output generated by the corrupted wp-cache-config.php file. Luckily it
   was just a microsite, but I’m worried the same could happen to our larger sites.
   I’ll make it read-only for the time being as well. I have used WP Super Cache
   for years and it’s the first time this happened. I suspect it was introduced 
   with one of the more recent updates.
 *  [btcjosh](https://wordpress.org/support/users/btcjosh/)
 * (@btcjosh)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9543547)
 * I’m experiencing the exact same issue on one of my domains as well. I have the
   plugin disabled until a fix can be found.
 *  Thread Starter [ofTherapistSummers](https://wordpress.org/support/users/samisummerstssp/)
 * (@samisummerstssp)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9544346)
 * Sasa,
    I am happy to say that your fix has solved the issue! The corruption has
   not occurred in the week since making the changes you had suggested. While I 
   am not a plugin developer, I’d suggest that people having the same issue should
   likewise see if the fix works for them as well. Thank you again Sasa. I am marking
   this issue Resolved!
 *  [paulodamian](https://wordpress.org/support/users/paulodamian/)
 * (@paulodamian)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9562997)
 * [@stodorovic](https://wordpress.org/support/users/stodorovic/)
 * Your fix should be included in the plugin.
 * I added it a week ago and the problem did not happen again… until I updated the
   plug in to the version 1.5.7, just 20 minutes later the file corruption happened
   again. I have put the fix in place, but it will break on every update until some
   one include it on the plugin code
 *  Plugin Author [Donncha O Caoimh (a11n)](https://wordpress.org/support/users/donncha/)
 * (@donncha)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9563130)
 * I have an idea why this is happening.
 * The plugin updates the config file with a timestamp every time a cached page 
   is updated, so that an updated cached feed can be served. This means there are
   lots of reads and writes directly to the cache config file. Unfortunately if 
   one process is writing to the file and another process starts reading from it
   at the same time the process reading isn’t going to get a complete file.
 * The best fix is to write to a temporary file and rename it to the config filename.
   The rename can’t be interrupted and it’s how cached files are written.
 * We’ll get an update for this out soon.
 *  Plugin Author [Donncha O Caoimh (a11n)](https://wordpress.org/support/users/donncha/)
 * (@donncha)
 * [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9563573)
 * So, two related changes thanks to this:
 * Keep a record of up to 50 “page” feeds, and when the site is updated in any way
   delete them all. So, if a post is updated the main site feed will be deleted 
   to be refreshed, but also the feeds for any other archive pages. It’s a little
   heavy handed but since the plugin has never taken care of the archive feed pages
   before, it’s a huge improvement.
    [https://github.com/Automattic/wp-super-cache/pull/403](https://github.com/Automattic/wp-super-cache/pull/403)
 * Or, keep the current way of doing it (which has a similar effect, but the cache
   files are deleted/refreshed just before they’re served) but it requires writing
   to the config file. This patch makes that much safer.
    [https://github.com/Automattic/wp-super-cache/pull/402](https://github.com/Automattic/wp-super-cache/pull/402)
 * I prefer the first method, but will be merging the second patch anyway because
   it makes writing config files safer.

Viewing 11 replies - 1 through 11 (of 11 total)

The topic ‘wp-cache-config.php file getting Corrupted’ is closed to new replies.

 * ![](https://ps.w.org/wp-super-cache/assets/icon-256x256.png?rev=3506220)
 * [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wp-super-cache/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wp-super-cache/)
 * [Active Topics](https://wordpress.org/support/plugin/wp-super-cache/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wp-super-cache/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wp-super-cache/reviews/)

## Tags

 * [file changes](https://wordpress.org/support/topic-tag/file-changes/)

 * 11 replies
 * 8 participants
 * Last reply from: [Donncha O Caoimh (a11n)](https://wordpress.org/support/users/donncha/)
 * Last activity: [8 years, 8 months ago](https://wordpress.org/support/topic/wp-cache-config-php-file-getting-corrupted/#post-9563573)
 * Status: resolved