Skip to content

Commit 4f15444

Browse files
Allow scheme config from env vars (#209)
* Allow scheme config from env vars * Fix condition * Add new config to readme file * Update includes/common.inc.php --------- Co-authored-by: Erik Dubbelboer <[email protected]>
1 parent 3dcd016 commit 4f15444

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

README.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Environment variables summary
5555
* ``REDIS_1_HOST`` - define host of the Redis server
5656
* ``REDIS_1_NAME`` - define name of the Redis server
5757
* ``REDIS_1_PORT`` - define port of the Redis server
58+
* ``REDIS_1_SCHEME`` - define scheme of the Redis server (tcp or tls)
5859
* ``REDIS_1_AUTH`` - define password of the Redis server
5960
* ``REDIS_1_AUTH_FILE`` - define file containing the password of the Redis server
6061
* ``REDIS_1_DATABASES`` - You can modify you config to prevent phpRedisAdmin from using CONFIG command

includes/common.inc.php

+6-2
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,15 @@
113113
$config['showEmptyNamespaceAsKey'] = false;
114114
}
115115

116+
if (!isset($config['scheme']) || empty($config['scheme'])) {
117+
$config['scheme'] = 'tcp';
118+
}
119+
116120
// Setup a connection to Redis.
117-
if(isset($server['scheme']) && $server['scheme'] === 'unix' && $server['path']) {
121+
if ($server['scheme'] === 'unix' && $server['path']) {
118122
$redis = new Predis\Client(array('scheme' => 'unix', 'path' => $server['path']));
119123
} else {
120-
$redis = !$server['port'] ? new Predis\Client($server['host']) : new Predis\Client('tcp://'.$server['host'].':'.$server['port']);
124+
$redis = !$server['port'] ? new Predis\Client($server['host']) : new Predis\Client($server['scheme'].'://'.$server['host'].':'.$server['port']);
121125
}
122126

123127
try {

includes/config.environment.inc.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
$server_name = getenv($prefix . 'NAME');
3737
$server_host = getenv($prefix . 'HOST');
3838
$server_port = getenv($prefix . 'PORT');
39+
$server_scheme = getenv($prefix . 'SCHEME');
3940
if (getenv($prefix . 'AUTH_FILE') !== false) {
4041
$server_auth = file_get_contents(getenv($prefix . 'AUTH_FILE'));
4142
} else {
@@ -55,17 +56,22 @@
5556
$server_auth = "";
5657
}
5758

58-
if (empty($server_port)) {
59+
if (empty($server_port) && strpos($server_host, ':') === false) {
5960
$server_port = 6379;
6061
}
6162

63+
if (empty($server_scheme)) {
64+
$server_scheme = 'tcp';
65+
}
66+
6267
$config['servers'][] = array(
6368
'name' => $server_name,
6469
'host' => $server_host,
6570
'port' => $server_port,
6671
'filter' => $config['filter'],
6772
'scansize' => $config['scansize'],
6873
'scanmax' => $config['scanmax'],
74+
'scheme' => $server_scheme,
6975
);
7076

7177
if (!empty($server_auth)) {

0 commit comments

Comments
 (0)