Support » Plugin: W3 Total Cache » Fatal error: Uncaught exception ‘Exception’ with message ‘unknown engine

  • I got this message today, after trying to save a post. I’m having the same after trying to empty the cache, too. I did restore all settings in W3TC and all was fine. After that, I switched to mine setup switching all settings one by one. All looked good and I continued working, while suddenly I got the same error message. Today I updated the plugin and installed Cloudflare together with some changes in the settings. I’m not sure which of them could cause the problem.

    Fatal error: Uncaught exception ‘Exception’ with message ‘unknown engine ‘ in /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_Core.php:48 Stack trace: #0 /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_CacheFlush.php(222): W3TC\Cdnfsd_Core->get_engine() #1 [internal function]: W3TC\Cdnfsd_CacheFlush::w3tc_flush_execute_delayed_operations(Array) #2 /home/swansph/public_html/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array) #3 /home/swansph/public_html/wp-includes/plugin.php(203): WP_Hook->apply_filters(Array, Array) #4 /home/swansph/public_html/wp-content/plugins/w3-total-cache/CacheFlush_Locally.php(253): apply_filters(‘w3tc_flush_exec…’, Array) #5 /home/swansph/public_html/wp-content/plugins/w3-total-cache/CacheFlush.php(188): W3TC\CacheFlush_Locally->execute_delayed_operations() #6 /home/swansph/public_html/wp-content/plugins/w3-total-cache/CacheFlush.php(194): W3TC\CacheFlush->execute_delayed_operations() #7 [internal function]: W3TC\CacheFlush->execute_delay in /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_Core.php on line 48

    Fatal error: Uncaught exception ‘Exception’ with message ‘unknown engine ‘ in /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_Core.php:48 Stack trace: #0 /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_CacheFlush.php(222): W3TC\Cdnfsd_Core->get_engine() #1 [internal function]: W3TC\Cdnfsd_CacheFlush::w3tc_flush_execute_delayed_operations(Array) #2 /home/swansph/public_html/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array) #3 /home/swansph/public_html/wp-includes/plugin.php(203): WP_Hook->apply_filters(Array, Array) #4 /home/swansph/public_html/wp-content/plugins/w3-total-cache/CacheFlush_Locally.php(253): apply_filters(‘w3tc_flush_exec…’, Array) #5 /home/swansph/public_html/wp-content/plugins/w3-total-cache/CacheFlush.php(188): W3TC\CacheFlush_Locally->execute_delayed_operations() #6 [internal function]: W3TC\CacheFlush->execute_delayed_operations() #7 /home/swansph/public_html/wp-includes/class-wp-hook.php(284): call_user_func_array(Array, Array) #8 /home/swans in /home/swansph/public_html/wp-content/plugins/w3-total-cache/Cdnfsd_Core.php on line 48

    • This topic was modified 2 years, 1 month ago by swan_.
    • This topic was modified 2 years, 1 month ago by swan_.
Viewing 15 replies - 1 through 15 (of 33 total)
  • Same here, I’m following this to see what comes of it. Meanwhile, I’m doing some additional research and will post if I come up with something.

    Thanks, Steve! It’s 2AM here so I’m giving up. I’ve just disabled the plugin and finished my work. 🙁

    I was able to fix my problem by resetting to default and then selecting all of the options again. It seems that I had inadvertently set CDN to true by importing settings from another site and when I deselected it, it apparently didn’t save it in the database properly. I thought it strange that the module prompting the error was Cdn_Core.php since I’m not using a CDN other than cloudflare.

    Perhaps our problems are similar but not exactly the same but you may give it a try!

    Good luck!

    I did the same and all looked good, but after I’ve done some work I had the same error. I’ll try again today.
    Can you share your settings, please!

    Same for me
    Probably a bug in the last update of the plugin 12 hours ago
    We just have to wait for the next patch now

    • This reply was modified 2 years, 1 month ago by PIX GEEKS.

    Fingers crossed!

    Have the same problem and solved it like you did. But now my entire website is down, can’t login to my admin panel. Havent made any change in other plugins except from settings in W3 total cache

    Same here, my site won’t let me into the admin panel either….

    The problem is with new feature FSD CDN in combination with Cloudflare. It’s by default activated. But is says: “Available after upgrade”.

    General Settings > CDN:
    Host whole website with your full site content delivery network provider to reduce page load time.
    FSD CDN: Activated
    Whole website will appear to load instantly for site visitors. Available after upgrade.
    FSD CDN Type: Cloudflare
    Select the CDN type you wish to use.

    You can edit:
    /www/wp-content/w3tc-config/master.php

    “cdnfsd.enabled”: “0”,
    “cdnfsd.engine”: “CloudFlare”,
    “cdnfsd.debug”: “0”,

    I don’t think that’s right.
    Mine is set to False, blank, and false….

    I don’t use cloudflare.

    anyone have a fix?????? this is crazy…
    wp-admin is unavailable…

    I had this problem (wp-admin can’t open) for few times. Do a google research. there are different solutions how to get in. Usually, you need to delete a rename a file on your server. After that just disable the plugin until it has a fix.

    @swan_, @steadwell, @pixgeeks, @fodboldshoppen, @houcatdad, @vverloop try this fix.

    In the /wp-content/plugins/w3-total-cache/Cdnfsd_CacheFlush.php on the line 194 there is the function w3tc_flush_execute_delayed_operations(). Replace the original function with this version:

    /**
    * Clears global and repeated urls
    */
    static public function w3tc_flush_execute_delayed_operations( $actions_made ) {
        $o = Dispatcher::component( 'Cdnfsd_CacheFlush' );
    
        if ( $o->flush_all_requested ) {
            $core = Dispatcher::component( 'Cdnfsd_Core' );
    
            try {
                $engine = $core->get_engine();
    				
                if ( !is_null( $engine ) ) {
                    $engine->flush_all();
    		$actions_made[] = array( 'module' => 'cdn' );
                }
             } catch ( \Exception $ex ) {
                $actions_made[] = array(
                   'module' => 'cdn',
    		'error' => $ex->getMessage()
                );
             }
    
    	$o->flush_all_requested = false;
            $o->queued_urls = array();
    
        } else {
            $count = count( $o->queued_urls );
            if ( $count > 0 ) {
                 $urls = array_keys( $o->queued_urls );
    
                 $core = Dispatcher::component( 'Cdnfsd_Core' );
    				
    	     try {
    		     $engine = $core->get_engine();
    					
    		     if ( !is_null( $engine ) ) {
    			$engine->flush_urls( $urls );
    			$actions_made[] = array( 'module' => 'cdn' );
    		     }
    	       } catch ( \Exception $ex ) {
    		     $actions_made[] = array(
    			'module' => 'cdn',
    			'error' => $ex->getMessage()
                        );
                    }
    
    	    $o->queued_urls = array();
            }
        }
    
        return $actions_made;
    }

    there are two (line 199 and line 222) $engine = $core->get_engine(); out of try catch block, the fix is move $engine = $core->get_engine(); into try catch.

    $core->get_engine() is the cause of “unknown engine”, because throw an exception if cdnfsd engine (cloudflare, cloudfront, limelight or maxcdn) is not setted.

    Changes on line 199 and line 222:

    before:

    
        $core = Dispatcher::component( 'Cdnfsd_Core' );
        $engine = $core->get_engine();
        try {
            if ( !is_null( $engine ) ) {
    

    after:

    
        $core = Dispatcher::component( 'Cdnfsd_Core' );
        try {
            $engine = $core->get_engine();
            if ( !is_null( $engine ) ) {
    
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.
    • This reply was modified 2 years, 1 month ago by nigro.simone.

    @nigrosimone I followed your proposed fix, it did work as far as the error message after flushing the cache. However, the same ugly error msg is still showing up after I update page/post content. Strangely, though, the content itself is being updated, despite the error message. Hope W3 Total Cache issues an update to fix this soon.

    I actually just rolled back to the previous version of W3 Total Cache, all error msgs are gone. (I used WP Rollback plugin.) Will wait until they issue an update.

Viewing 15 replies - 1 through 15 (of 33 total)
  • The topic ‘Fatal error: Uncaught exception ‘Exception’ with message ‘unknown engine’ is closed to new replies.