diff options
author | Andrey Andreev <narf@devilix.net> | 2016-03-16 11:39:52 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2016-03-16 11:39:52 +0100 |
commit | 7df9453c0797b3e9f8af2b2a03413282890a677b (patch) | |
tree | 1655a8c54c16e7fe05bc132a173c4425bd743025 /system/libraries/Cache | |
parent | 27b2c59fd43c0206d300bb7409b4d983215a3f65 (diff) |
[ci skip] Add (detection-based) UNIX sockets support to Cache_memcached
Diffstat (limited to 'system/libraries/Cache')
-rw-r--r-- | system/libraries/Cache/drivers/Cache_memcached.php | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/system/libraries/Cache/drivers/Cache_memcached.php b/system/libraries/Cache/drivers/Cache_memcached.php index 6dee1e8e4..ca3997ad5 100644 --- a/system/libraries/Cache/drivers/Cache_memcached.php +++ b/system/libraries/Cache/drivers/Cache_memcached.php @@ -102,10 +102,22 @@ class CI_Cache_memcached extends CI_Driver { return; } - foreach ($this->_config as $cache_server) + foreach ($this->_config as $cache_name => $cache_server) { - isset($cache_server['hostname']) OR $cache_server['hostname'] = $defaults['host']; - isset($cache_server['port']) OR $cache_server['port'] = $defaults['port']; + if ( ! isset($cache_server['hostname'])) + { + log_message('debug', 'Cache: Memcache(d) configuration "'.$cache_name.'" doesn\'t include a hostname; ignoring.'); + continue; + } + elseif ($cache_server['hostname'][0] === '/') + { + $cache_server['port'] = 0; + } + elseif (empty($cache_server['port'])) + { + $cache_server['port'] = $defaults['port']; + } + isset($cache_server['weight']) OR $cache_server['weight'] = $defaults['weight']; if ($this->_memcached instanceof Memcache) |