Skip to content

Commit 4195a6d

Browse files
committed
[memcache] read config from environment
1 parent 9e4dbac commit 4195a6d

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

cache.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
define('ENABLE_REALPATH', function_exists('realpath_cache_size'));
1010
define('ENABLE_MEMCACHE', extension_loaded('memcache') || extension_loaded('memcached'));
1111

12+
// Memcache configuration
13+
define('MEMCACHE_HOST', getenv('MEMCACHE_HOST') ?: '127.0.0.1');
14+
define('MEMCACHE_PORT', getenv('MEMCACHE_PORT') ?: 11211);
15+
define('MEMCACHE_USER', getenv('MEMCACHE_USER') ?: null);
16+
define('MEMCACHE_PASSWORD', getenv('MEMCACHE_PASSWORD') ?: null);
17+
1218
if (ENABLE_APC) {
1319
if (!extension_loaded('apcu')) {
1420
function apcu_cache_info($limited = false) { return apc_cache_info('user', $limited); }
@@ -44,12 +50,15 @@ function __construct($search = null) { parent::__construct('user', $search); }
4450
if (extension_loaded('memcached')) {
4551
$memcache = new \Memcached();
4652
$memcacheVersion = 'memcached';
47-
$memcache->addServer('127.0.0.1', 11211);
53+
$memcache->addServer(MEMCACHE_HOST, MEMCACHE_PORT);
54+
if (!empty(MEMCACHE_USER) && !empty(MEMCACHE_PASSWORD))
55+
$memcache->setSaslAuthData(MEMCACHE_USER, MEMCACHE_PASSWORD);
4856
$memcache_stats = $memcache->getStats();
4957
} else if (extension_loaded('memcache')) {
58+
// This extension does not support SASL authentication
5059
$memcache = new \Memcache();
5160
$memcacheVersion = 'memcache';
52-
$memcache->addServer('127.0.0.1', 11211);
61+
$memcache->addServer(MEMCACHE_HOST, MEMCACHE_PORT);
5362
$memcache_stats = $memcache->getExtendedStats();
5463
}
5564

demo/index.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,16 @@ class CacheDemoClass {
2929
}
3030

3131
if (INIT) {
32+
// Memcache configuration
33+
$memcache_host = getenv('MEMCACHE_HOST') ?: '127.0.0.1';
34+
$memcache_port = getenv('MEMCACHE_PORT') ?: 11211;
35+
$memcache_user = getenv('MEMCACHE_USER') ?: null;
36+
$memcache_password = getenv('MEMCACHE_PASSWORD') ?: null;
37+
3238
$memcache = new \Memcached();
33-
$memcache->addServer('127.0.0.1', 11211);
39+
$memcache->addServer($memcache_host, $memcache_port);
40+
if (!empty($memcache_user) && !empty($memcache_password))
41+
$memcache->setSaslAuthData($memcache_user, $memcache_password);
3442

3543
$memcache->add('type.array', ['abc', 'def']);
3644
$memcache->add('type.string', 'hello-world');

0 commit comments

Comments
 (0)