From 6b03ae92b811b89cfba137d20f08a320ea83370e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 8 Jul 2018 01:46:46 -0400 Subject: [PATCH] Fix Memached config value format usage --- src/Core/Cache/MemcachedCacheDriver.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Core/Cache/MemcachedCacheDriver.php b/src/Core/Cache/MemcachedCacheDriver.php index 870219854a..8b752fb3a8 100644 --- a/src/Core/Cache/MemcachedCacheDriver.php +++ b/src/Core/Cache/MemcachedCacheDriver.php @@ -22,6 +22,16 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr */ private $memcached; + /** + * Due to limitations of the INI format, the expected configuration for Memcached servers is the following: + * array { + * 0 => "hostname, port(, weight)", + * 1 => ... + * } + * + * @param array $memcached_hosts + * @throws \Exception + */ public function __construct(array $memcached_hosts) { if (!class_exists('Memcached', false)) { @@ -30,6 +40,10 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr $this->memcached = new Memcached(); + array_walk($memcached_hosts, function (&$value) { + $value = array_map('trim', explode(',', $value)); + }); + $this->memcached->addServers($memcached_hosts); if (count($this->memcached->getServerList()) == 0) {