I was using 0.9.3 and bumped into this problem. I was using Amazon Cloudfront and when I tried to test the settings it was not working. I changed the following to see that the test has passed in wp-content/plugins/w3-total-cache/lib/W3/AdminActions/CdnActionsAdmin.php
if (!isset($config['host'])) {
$config = W3_Request::get_string('config');
$config = json_decode($config, true);
}
$config = array_merge($config, array(
'debug' => false
));
if (!is_array($config['domain'])) {
$config['domain'] = explode(',', $config['domain']);
}
To:
if ( 'cf' !== $engine && !isset($config['host'])) {
$config = W3_Request::get_string('config');
$config = json_decode($config, true);
}
if( is_array( $config ) ) {
$config = array_merge($config, array(
'debug' => false
));
}
if ( isset( $config['domain'] ) && ! is_array( $config['domain'] ) ) {
$config['domain'] = explode(',', $config['domain']);
}
Now the test is working.