Code Monkey home page Code Monkey logo

w3-total-cache's Introduction

Build Status

Welcome to the W3 Total Cache repository on GitHub. Here you can browse the source, look at open issues and keep track of development.

If you are not a developer, please use the W3 Total Cache plugin page on WordPress.org.

Support

This repository is not suitable for support. Please don't use our issue tracker for support requests. Support can take place through the appropriate channels:

Support requests in issues on this repository will be closed on sight.

Contributing to W3 Total Cache

If you have a patch or have stumbled upon an issue with W3 Total Cache, you can contribute this back to the code. Please read our contributor guidelines for more information how you can do this.

w3-total-cache's People

Contributors

8ctopus avatar bwmarkle avatar cssjoe avatar dbertram avatar dependabot[bot] avatar diegofs-1989 avatar ericek111 avatar figureone avatar gidomanders avatar hanicker avatar harryjackson1221 avatar jacobd91 avatar jpsimkins avatar kzeni avatar lwj5 avatar mavas84 avatar maxicus avatar michaelw85 avatar mo2menelzeiny avatar njlynch avatar paddyohanlon avatar romainmenke avatar sebastienserre avatar sebsz avatar striffly avatar timelsass avatar vicocotea avatar viktorgino avatar willperring avatar wittich avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

w3-total-cache's Issues

Installation for memcached is not up-to-date

I tried following the guide here: https://github.com/W3EDGE/w3-total-cache/wiki/FAQ:-Installation:-Memcached-Server

However it is not up-to-date. For instance I needed to be root to run the commands, su failed (as I have no password) so I had to manually add the files.

  1. /etc/init.d/memcached the memcached line should be above exit 0, I believe the echo would add it to the bottom of the file
  2. Running /etc/init.d/memcached has no effect. I had to run /etc/init.d/memcached start, however, it was already started.

I used the automatic install apt-get -y install memcached

[Bug] Minify library not adding semicolons

Context
When JS files are minified the new line characters at the end of a line are not being replaced with semicolons. Problem was witnessed when used with WooCommerce.

Example
woocommerce-gateway-paypal-express-checkout/includes/settings/settings-ppec.php:127
if ( button_size_option.prop( 'disabled' ) !== isVertical ) { button_size.removeClass( 'enhanced' ) button_size_option.prop( 'disabled', isVertical ); $( document.body ).trigger( 'wc-enhanced-select-init' ); ! button_size.val() && button_size.val( 'responsive' ).change(); }

Turns into:
if(button_size_option.prop('disabled')!==isVertical){button_size.removeClass('enhanced')button_size_option.prop('disabled',isVertical);$(document.body).trigger('wc-enhanced-select-init');!button_size.val()&&button_size.val('responsive').change();}

There is no semicolon separating button_size.removeClass( 'enhanced' ) and button_size_option.prop( 'disabled', isVertical ); in the minified version.

Function Redis::delete() is deprecated

Function Redis::delete() is deprecated
`

  • do_action('admin_print_scripts-index.php')
    wp-admin/admin-header.php:125
  • wp_localize_community_events()
    wp-includes/class-wp-hook.php:286
  • update_user_option()
    wp-includes/script-loader.php:2264
  • update_user_meta()
    wp-includes/user.php:538
  • update_metadata()
    wp-includes/user.php:853
  • wp_cache_delete()
    wp-includes/meta.php:273
  • W3TC\ObjectCache_WpObjectCache->delete()
    wp-content/object-cache.php:80
  • W3TC\ObjectCache_WpObjectCache_Regular->delete()
    wp-content/plugins/w3-total-cache/ObjectCache_WpObjectCache.php:63
  • W3TC\Cache_Redis->delete()
    wp-content/plugins/w3-total-cache/ObjectCache_WpObjectCache_Regular.php:324
  • `

    Support page produces PHP warnings

    Steps to reproduce:

    1. Install and activate W3TC.
    2. Go to Performance > Support page in WP dashboard.

    Tested in PHP 7.1, and PHP 7.2 - received 4 warnings on each.

    Can use this link to reproduce in test environment.

    PHP warnings:
    image

    Warning Cannot assign an empty string to a string offset 4 -do_action('admin_print_scripts-performance_page_w3tc_support')wp-admin/admin-header.php:125W3TC\Support_Page::admin_print_scripts_w3tc_support()wp-includes/class-wp-hook.php:286wp_localize_script()wp-content/plugins/w3-total-cache/Support_Page.php:27WP_Scripts->localize()wp-includes/functions.wp-scripts.php:200wp-includes/class.wp-scripts.php:454 Plugin: w3-total-cache

    v0.9.7.5 Uses S3 URL instead of CloudFront URL when requesting static files from CDN

    We are running multiple WordPress websites and offload static assets to S3.

    We do not allow public read/write access to S3 and allow only CloudFront to request objects from the S3 bucket using an OAI.

    In v0.9.7.5 W3TC requests objects from S3 directly instead of using the CloudFront URL.

    For example if the website has a stylesheet at wp-content/themes/my-theme/css/styles.css it will be loaded as https://s3.amazonaws.com/my-bucket/wp-content/themes/my-theme/css/styles.css instead of https://abcd1234.cloudfront.net/wp-content/themes/my-theme/css/styles.css.

    I believe this is incorrect behavior.

    v0.9.7.4 behaves correctly however, and uses the CloudFront URL to request static assets.

    Ability to move cache-clearing to WP cron or another async method

    During my analysis for #39 and #35, I analyzed the time it takes for W3TC to clear cache (specifically for memcached), and even with our beefy setup, it still tacks on extra seconds (sometimes as many as 5-10s) to every Update/Publish button press, which wastes precious time for our writers (we're also still using the classic editor, which means post saves aren't done in AJAX).

    A single post update could generate hundreds of cache gets and deletes, and that really adds up.

    image

    It'd be great to see a built-in option to switch cache-busting to WP cron so it would fire on the next minute and wouldn't waste valuable time for the writers. I envision this via a config parameter / variable, since we want to retain sync cache-busting for default scenarios.

    @bwmarkle What do you think?

    Thanks.

    Can't disable New Relic integration

    After assigning an API key for New Relic I'm unable to remove the API key again (an empty field will generate a validation error) and I can't find any way of disabling the integration from the "monitoring" settings page either.

    Am I missing something?

    MFUNC vs. MCLUDE - what to use?

    What is the difference?

    I trying to include your MFUNC inside WordPress Geo Plugin and I'm confused what to use. Geo data and dynamic content we have must NOT be cached and we now have a problems with that.

    We now using something like:

    if($cache)
    {
    	return '<!--mfunc ' . W3TC_DYNAMIC_SECURITY . ' -->' 
    		. do_shortcode($content) 
    	. '<!--/mfunc ' . W3TC_DYNAMIC_SECURITY . ' -->';
    }
    else
    {
    	return do_shortcode($content);
    }
    
    

    ...or:

    if($cache)
    {
    	if(isset($CFGEO[$return]))
    	{
    		return '<!--mfunc ' . W3TC_DYNAMIC_SECURITY . ' --><span class="cfgeo-replace" data-key="' . $return . '" data-nonce="' . $nonce . '">' 
    			. $CFGEO[$return] 
    		. '</span><!--/mfunc ' . W3TC_DYNAMIC_SECURITY . ' -->';
    	}
    	else
    	{
    		return '<!--mfunc ' . W3TC_DYNAMIC_SECURITY . ' -->' . $default . '<!--/mfunc ' . W3TC_DYNAMIC_SECURITY . ' -->';
    	}
    }
    else
    {
    	if(isset($CFGEO[$return]))
    	{
    		return $CFGEO[$return];
    	}
    	else
    	{
    		return $default;
    	}
    }
    

    And we must be sure this will work with your plugin.

    Do we need to include something else or is this only thing what need to be done?

    Note that users will place 2, 3, 10 shortcodes on the one page what contain various geo information. We must be sure that all was changed properly.

    Thanks!

    Minified filenames

    I'm using W3TC 0.9.7.5 with WP 5.2.2 and the minified filenames always are created with the same filename even after purge all caches. The button "update media query string" is always disabled. This happen in Apache and Nginx. How can I fix this? I need to purge browser cache for css files...

    [Feature] Add filters to modify header when using Disk: Enhanced

    Description
    Currently there are no filters users can utilize to include/exclude specific items getting added to the header when using Disk: Enhanced.

    Feature
    Allow users to make modifications in functions.php with filters that will alter header information.

    S3 metadata

    Since June 2019, files uploaded to S3 have different metadata than before.

    Older files:

    Cache-Control 
    Content-Type 
    Expires
    

    Newer files:

    Content-Type	
    x-amz-meta-access-control-allow-origin
    x-amz-meta-content-type
    x-amz-meta-last-modified
    x-amz-meta-link
    

    Which is problematic, because there are no expires or cache control values (for browser caching).

    Also, the x-amz-meta-* values seem either redundant or unnecessary.

    I suppose changes were made:
    49dfa53#diff-7971eb11690e9cb546b92abb2f8e6d63

    W3-Total-Cache fragment caching incorrectly disregards transients' expirations

    I'm debugging some slowdowns of the AMP validator with the AMP team right now, and right now we've arrived at this weird behavior coming from W3TC, which seems to have been in place (and possibly broken as a result) for years https://wordpress.stackexchange.com/questions/108287/trouble-with-transient-api-when-w3tc-is-activated.

    If we don't want to use object caching, we disable it in W3TC settings. However, even when it's disabled, W3TC insists on copying object-cache.php to wp-content. Once that file is in place, $_wp_using_ext_object_cache is set to true by WordPress, and transients no longer work.

    Why does W3TC insist on having object-cache.php with object caching disabled in its settings? Is this a bug?

    Brotli compression is installed and working but displayed as "not installed"

    I have successfully installed brotli compression on my nginx server, restarted the nginx server, and cleared any cache.

    However, when I go to "Compatibility Test" it is displayed as Not Installed:
    image

    When I curl -IL https://staging.mysite.com -H "Accept-Encoding: br" I successfully receive: Content-Encoding: br

    What could be the cause of this?

    memcached issue with php-fpm after 0.10 update

    Hi, this happened after the last update.

    I'm using php 7.3.9 with memcached. The web system compromises of nginx+php-fpm+mariadb (centos 7). I gotta say total cache is a life saver when it comes to websites with 2k+ users online. I use memcached for page, database and object caching via w3tc.

    Yesterday, I saw w3tc update and I clicked it. Afterwards, the nightmare began. First, I thought everything was related to latest wordpress update. But, afterwards checked the php-fpm and none of the php-fpm children terminated.

    There were 2 updates yesterday for me. One wordpress core update and the other w3tc. So the culprit was one of the two.

    At max traffic, we get like 8-20 php-fpm children serving everything. However, php-fpm kept adding children and when maxed out the website would get slower and slower. I removed w3tc and changed the php-fpm to 7.2.2 and restart nginx and php-fpm. The website began to work smoothly.

    I went to wordpress.org (https://wordpress.org/plugins/w3-total-cache/advanced/) and downloaded 0.9.7.5. Set up everything as previously (nginx settings and php-fpm 7.3.9) and voila everything works perfectly again.

    Sorry for the long rant but it seems that the memcached binary logging settings in the latest update has a bug. Please do fix it if you deem the problem to be of importance.

    Testing CloudFront over S3

    Testing CloudFront over S3 only checks the first distribution (index 0):

    CdnEngine_CloudFront.php (line 333)

    private function _get_distribution( $dists = null ) {
    	[...]
    	$dist = false;
    	$origin = $this->_get_origin();
    	$items = $dists['DistributionList']['Items'];
    	foreach ( $items as $dist ) {
    		if ( isset( $dist['Origins']['Items'][0]['DomainName'] ) &&
    			 $dist['Origins']['Items'][0]['DomainName'] == $origin ) {
    			return $dist;
    		}
    	}
    	throw new \Exception( sprintf( 'Distribution for origin "%s" not found.', $origin ) );
    

    If the first distribution is not S3, then it throws the exception.

    It should check for each distribution.

    Upgrading to PRO and cache method in cluster

    Hello, I have 2 questions for you guys if it's ok.

    1. Why would someone "upgrade" to "pro" when the whole source code is on github ?

    2. I have a cluster setup, where all the wordpress installs are syncronised across each server and database too. Which cache method do you recommend to use ? I was thinking about memcached/redis - but I'm not sure if I should specify all servers ? I tested APCU/disk and it's not working correctly or at least how I expect it.

    Thank you

    w3-total-cache 0.10 - Fatal error 0.9.7.5 to 0.10 via WP CLI

    Hello,

    When updating from 0.9.7.5 to 0.10 via WP Cli I'm getting unfortunately the following error.

    Fatal error: Uncaught Error: Call to undefined method W3TC\Util_Content::is_database_error() in /.../wp-content/plugins/w3-total-cache/Generic_Plugin.php:512
    Stack trace:
    #0 [internal function]: W3TC\Generic_Plugin->ob_callback('+--------------...', 9)
    #1 /.../wp-includes/functions.php(4339): ob_end_flush()
    #2 /.../wp-includes/class-wp-hook.php(286): wp_ob_end_flush_all('')
    #3 /.../wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
    #4 /.../wp-includes/plugin.php(465): WP_Hook->do_action(Array)
    #5 /.../wp-includes/load.php(954): do_action('shutdown')
    #6 [internal function]: shutdown_action_hook()
    #7 {main}
      thrown in /.../wp-content/plugins/w3-total-cache/Generic_Plugin.php on line 512
    

    It seems not to cause any trouble. But I thought flagging it up might not do any bad.

    Thank you!

    FAQ Link in Dashboard should open in new tab

    In the Dashboard, the FAQ link opens in the same tab, causing you to be taken away from your website when navigating to it.

    image

    Adding a target="_blank" to the link would allow the user to see the FAQ, and not navigate away from their site in the process.

    Text Contrast in Minify Warning Not WCAG-Compliant

    Is your feature request related to a problem? Please describe.
    The important warning text that is presented when a user clicks "Enable" in the Minify settings has insufficient text size/color contrast to be adequately readable. The background is off-white #FDFDFD and the text color is #88898A
    https://webaim.org/resources/contrastchecker/?fcolor=88898A&bcolor=FDFDFD

    This leads to frustrating user experience and possible accessibility issues attempting to read the warning text, possibly causing the user to ignore the text altogether.

    Describe the solution you'd like
    In order to meet WCAG guidelines, the text should have a color contrast of at least 4.5:1 at its current size of 13px. A text-color of #757575 would be sufficient to meet guidelines.

    Describe alternatives you've considered
    In order to comply with WCAG guidelines without changing the color, the text would need to be increased to 14pt bold.

    Additional context
    Selection_183

    [Feature] Cache external scripts

    Idea submission from WP.org Support forum

    Description
    Allow caching of external scripts, specifically Google Analytics for this submission, by downloading a copy of the script and storing it locally. Check for updates on a regular basis (~24 hrs) to check for modifications, and if any are found then download a new copy. User provided Cache External Scripts as an example for a plugin that currently has this functionality.

    We could also extend this feature once implemented and allow users to specify a variety of external script sources to cache in addition to GA.

    What does this solve?
    This could improve scores from site speed testing websites that show poor performance results for 'Leverage browser caching' when external resources are gathered.

    HTTP2 on Nginx - allow to generate http2_push_preload

    Hello! Thank you, for your plugin!
    Function http2 push don't work just header("Link: </css/styles.css>; rel=preload; as=style", false);
    In nginx, you need add http2_push_preload on; in section server {};. If you use this function without http2_push_preload on; in nginx, it's don't work as a push, it's work as normal resource download. In Chrome dev tools (F12 key, Network tab) you will see different betwee initiator "Other" and "Push/Other".
    Yet - pls add push only for first resource downloading, across cookie, for example that:

    if(empty($_COOKIE["http2push"]))
        {
                setcookie("http2push","1"); 
    	  header("Link: </css/styles.css>; rel=preload; as=style", false);
    	  header("Link: </css/jquery.fancybox.css>; rel=preload; as=style", false);
        }
    

    It's great work for already caching resources, they don't pushing again.
    Sorry for my English =)

    Pages with querystrings are not automatically purged when their caching enabled

    Hi,

    We recently rolled out AMP to our site but are now running into issues with AMP pages not getting their W3TC cache cleared.

    The regular non-AMP pages get their cached cleared properly upon pressing Update in a post. However, AMP pages (with ?amp appended), do not, whether the W3TC AMP extension is activated or not.

    I've looked at all the settings I can find and even tried 0.10 released today, but still AMP does not get updated. This is bad for obvious reasons.

    Here's an example of a post I updated many minutes ago.

    Regular page:
    image

    AMP page (same url with ?amp appended):
    image

    @maxicus Any ideas?

    Thanks!

    This was also cross-posted to https://wordpress.org/support/topic/amp-page-cache-does-not-get-cleared/.

    The minification does not work if $_SERVER["DOCUMENT_ROOT"] is incorrectly configured

    The minification depends on the $_SERVER["DOCUMENT_ROOT"] as in 'w3-total-cache/lib/Minify/Minify/Controller/MinApp.php'
    if (0 === strpos($file, '//')) { $file = $_SERVER['DOCUMENT_ROOT'] . substr($file, 1); } $realpath = \W3TC\Util_Environment::realpath($file);
    $_SERVER["DOCUMENT_ROOT"] is not the file system root, it is the site's document root as configured in your web server.
    So in wicked cases (eg. shared hosting) it could probably fail. And it failed in my development server. The $_SEVER["DOCUMENT_ROOT"] and DIR on root script had different paths... I fixed on my case by changing the DOCUMENT_ROOT manually. It would be better if the author can have a look on this issue.

    Thx
    Laxman

    Embed pages and manual minify cache

    Wordpress has the feature to embed pages where it also creates html urls with permalinks like:

    https://www.example.com/2019/07/16/example-post/embed/

    This has its own css and js provided by Wordpress and is theme independent by default.

    However, if you use W3TC and use minify in the manual mode, the plugin inserts the minified css and js files in the html. This can of course be disabled in the setting "Never minify the following pages:" but since it affects all users, it should be fixed at the plugin level itself.

    Also I see that the HTML minification of embed pages isn't perfect, there are line breaks/whitespace etc.

    Object cache reporting showing 0/0

    When inspecting the element while object caching is enabled reporting shows the following:
    Object Caching 0/0 objects using Memcached
    Object Caching 0/0 objects using disk
    When Object Cache Debug is enabled, the report is showing the following:
    `Object Caching 39/60 objects using disk

    Object Cache debug info:
    Caching: enabled
    Total calls: 60
    Cache hits: 39
    Total time: 0.0077`
    Reporting doesn't show under the non-debug mode, but actual caching works.

    Support wp_die used for successful output

    While there is a tradition in WordPress world to use wp_die for errors output only, it's never mentioned in official documentation.

    So some plugins still use it for regular successful output.
    W3TC now sets response header to 503 what may cause complications.

    Support that situation better.

    Caching with different cookie states

    Suppose the following scenario:

    A GDPR-Cookie Plugin uses a cookie to determine whether the user gave consent to the use of cookies AND to which degree he or she did so. The state of the cookie may vary between

    {"strict":"1","thirdparty":"0","advanced":"0"}
    {"strict":"1","thirdparty":"1","advanced":"0"}
    {"strict":"1","thirdparty":"1","advanced":"1"}

    or not being set at all.

    Depending on that state, the plugin allows for the use of hooks in a given Wordpress-template to conditionally load content that uses cookies (e.g. a google-maps iframe). For example:

    if ( gdpr_cookie_is_accepted( 'thirdparty' ) ) {
        // Here goes the code that echoes the google maps iframe
    }
    

    I know that it's possible with W3 Total Cache to create a unique cache of a page depending on whether a cookie is set or not by using cookie groups. While this works fine and as expected I fail to set it up in a way that creates a unique cache of a page for each state that cookie may have (so one version of a page where strict cookies are allowed, one where strict cookies and 3rd-party cookies are allowed and so on)

    Is it possible to do something like that?

    Redis 5 failed connection

    WP 5.2.3
    W3 Total Cache 0.10.1
    Centos 7
    redis-5.0.6
    php-pecl-redis-3.1.6

    After update WP and redis every few seconds i got hundreds of this warnigs in log
    `[php7:warn] PHP Warning: Redis::pconnect(): connect() failed: Connection refused in w3-total-cache/Cache_Redis.php on line 362

    [php7:notice] Redis server went away
    `

    Bad anchor link - #fragmentcache

    I had someone report this issue to me. I don't recall exactly where it is, but there's a bad anchor link.

    Bad link:
    /wp-admin/admin.php?page=w3tc_general&w3tc_message=12345#fragmentcache

    Fix:
    /wp-admin/admin.php?page=w3tc_general&w3tc_message=12345#fragment_cache

    Notice the #fragmentcache vs. #fragment_cache

    Adjust nested json settings from wp-cli

    As it stands, you can enable most caching types from the Cli, in a format similar to:
    wp w3-total-cache option set pgcache.enabled true --type=boolean

    However, as far as I can tell, there is not a way to configure fragment cache options using this method, as fragment cache settings are stored as a JSON object.

    {
        "engine": "file"
    }
    

    However there is no convenient way to serialize back to the JSON object, the closest serializer is the "array" serializer, which is still incredibly inappropriate:

    Success: Option updated successfully 
    # wp w3-total-cache option get fragmentcache engine --type=array
    [
        "{\"engine\": \"file\"}"
    ]
    

    Ideally the solution would be to allow serialization of nested json data, to some degree. Something such as --type=object, or allowing name selection such as w3-total-cache option set fragmentcache["engine"] file

    Happy to contribute myself if I am correct that this is indeed a needed feature.

    caching 404 combined with wp_redirect returns 404 status on GET

    I made a little script to manage site migration to wordpress
    So I intercept 404 at template_redirect hook, then I look to see if I see an ID in the url /anywhere/123456-anything and check if we can find a post with custom field matching

    Then I used wp_redirect to send redirection.

    When I activate cache on 404, cache works and has the 'Location' header but then returns a 404 status on GET requests (I didn't sport it right away as I used curl -I to check urls and that sends a HEAD request that did return a 301)

    Perhaps I didn't hook myself in the right spot ?
    Or perhaps the cache could detect a wp_redirect call ?
    Or perhaps just verifying the final returned status ?

    If this seams tricky there could be the durty hack to check if there is a Location header in the response and then return 302 if that header is seen ?

    add_action( 'template_redirect', 'wpd_do_stuff_on_404' );
    function wpd_do_stuff_on_404(){
        if( is_404() ){
    
            $url = $_SERVER['REQUEST_URI'];
    
            if (preg_match('/\/(\d+)-[^\/]*$/', $url, $matches) ) {
                // looks like a dc post, lets try to find a post using dc_post_id
                $dc_post_id = intval($matches[1]);
                $args = array(
                   'meta_query' => array(
                       array(
                           'key' => 'dc_post_id',
                           'value' => '' . $dc_post_id,
                           'compare' => '=',
                       )
                   ),
                   'posts_per_page' => 1,
                );
    
                $q = new WP_Query($args);
    
                if ( $q->post_count == 1 && $q->max_num_pages == 1 ) {
                    wp_redirect( get_permalink( $q->posts['0']->ID ), 301 );
                    exit;
                }
            }
        }
    }

    PHP Deprecated in redis

    Function Redis::delete() is deprecated in /wp-content/plugins/w3-total-cache/Cache_Redis.php on line 155
    The issue starte after 5.0.2 php-redis update
    potential fix:
    return $accessor->del( $storage_key );
    //return $accessor->delete( $storage_key );

    W3 Total Cache and ludicrousdb

    We've been using ludicrousdb for master/slave db scaling for years, and I've always wondered if it'd be possible to also use W3TC's db caching together with it.

    Both use db.php drop-ins, but according to stuttter/ludicrousdb#83, it's actually possible to make them work together with some tweaks.

    It would be killer if this could be achieved.

    Thanks.

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. 📊📈🎉

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google ❤️ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.