diff --git a/src/Cache/Engine/MemcachedEngine.php b/src/Cache/Engine/MemcachedEngine.php index c877ca17b0e..a71377b9b37 100644 --- a/src/Cache/Engine/MemcachedEngine.php +++ b/src/Cache/Engine/MemcachedEngine.php @@ -241,7 +241,7 @@ protected function _setOptions() */ protected function _parseServerString($server) { - if ($server[0] === 'u') { + if (strpos($server, 'unix://') === 0) { return [$server, 0]; } if (substr($server, 0, 1) === '[') { diff --git a/tests/TestCase/Cache/Engine/MemcachedEngineTest.php b/tests/TestCase/Cache/Engine/MemcachedEngineTest.php index 3d5cf1f27a1..355a74ffba3 100644 --- a/tests/TestCase/Cache/Engine/MemcachedEngineTest.php +++ b/tests/TestCase/Cache/Engine/MemcachedEngineTest.php @@ -445,6 +445,18 @@ public function testConnectIpv6() $this->assertTrue($result); } + /** + * test domain starts with u + * + * @return void + */ + public function testParseServerStringWithU() + { + $Memcached = new TestMemcachedEngine(); + $result = $Memcached->parseServerString('udomain.net:13211'); + $this->assertEquals(array('udomain.net', '13211'), $result); + } + /** * test non latin domains. *