diff --git a/wp-ffpc-backend.php b/wp-ffpc-backend.php index 4f946b5..13f53e8 100644 --- a/wp-ffpc-backend.php +++ b/wp-ffpc-backend.php @@ -676,7 +676,9 @@ class WP_FFPC_Backend { /* use binary and not compressed format, good for nginx and still fast */ $this->connection->setOption( Memcached::OPT_COMPRESSION , false ); - $this->connection->setOption( Memcached::OPT_BINARY_PROTOCOL , true ); + if ($this->options['memcached_binary']){ + $this->connection->setOption( Memcached::OPT_BINARY_PROTOCOL , true ); + } if ( version_compare( phpversion( 'memcached' ) , '2.0.0', '>=' ) && ini_get( 'memcached.use_sasl' ) == 1 && isset($this->options['authpass']) && !empty($this->options['authpass']) && isset($this->options['authuser']) && !empty($this->options['authuser']) ) { $this->connection->setSaslAuthData ( $this->options['authuser'], $this->options['authpass']); @@ -726,14 +728,14 @@ class WP_FFPC_Backend { private function memcached_status () { /* server status will be calculated by getting server stats */ $this->log ( __translate__("checking server statuses", $this->plugin_constant )); - /* get servers statistic from connection */ - $report = $this->connection->getStats(); + /* get server list from connection */ + $servers = $this->connection->getServerList(); - foreach ( $report as $server_id => $details ) { + foreach ( $servers as $server ) { + $server_id = $server['host'] . self::port_separator . $server['port']; /* reset server status to offline */ $this->status[$server_id] = 0; - /* if server uptime is not empty, it's most probably up & running */ - if ( !empty($details['uptime']) ) { + if ($this->connection->set($this->plugin_constant, time())) { $this->log ( sprintf( __translate__( '%s server is up & running', $this->plugin_constant ), $server_id ) ); $this->status[$server_id] = 1; } diff --git a/wp-ffpc-class.php b/wp-ffpc-class.php index 047813c..75ea854 100644 --- a/wp-ffpc-class.php +++ b/wp-ffpc-class.php @@ -246,7 +246,7 @@ class WP_FFPC extends PluginAbstract { { $memcache_protocol = strtolower($memcache_settings['memcache.protocol']['local_value']); if ( $memcache_protocol == 'binary' ) { - $this->errors['binary_memcache'] = __('WARNING: Memcache extension is configured to use binary mode. This is very buggy and the plugin will most probably not work correctly.
Please consider to change either to ASCII mode or to Memcached extension.', $this->plugin_constant ); + $this->errors['memcached_binary'] = __('WARNING: Memcache extension is configured to use binary mode. This is very buggy and the plugin will most probably not work correctly.
Please consider to change either to ASCII mode or to Memcached extension.', $this->plugin_constant ); } } } @@ -687,6 +687,14 @@ class WP_FFPC extends PluginAbstract { - in case of TCP based connections, list the servers as host1:port1,host2:port2,... . Do not add trailing , and always separate host and port with : .
- in2.0.0b1 case using unix sockets with the Memcache driver: unix:// ', $this->plugin_constant); ?> +
+ +
+
+ options['memcached_binary'],true); ?> /> + plugin_constant); ?> +
+ options['cache_type'], 'memcached') && extension_loaded ( 'memcached' ) && version_compare( phpversion( 'memcached' ) , '2.0.0', '>=' ) || ( $this->options['cache_type'] == 'redis' ) ) { ?> '127.0.0.1:11211', + 'memcached_binary' => false, 'authpass'=>'', 'authuser'=>'', 'expire'=>300,