Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2019-10-26 17:54:27 +0300
committerPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2019-10-26 17:54:27 +0300
commit53a8bcc7a9f316c9dfdc118e316139defc9316e1 (patch)
treeeb6e5cfff406b5eb0bac477516a1a720e751fb8c /redis_session.c
parent8739fa5fa8c3c00fbcdf759dd42e8f0c7d46c66f (diff)
Issue #1657
Allow to specify schema for session handler.
Diffstat (limited to 'redis_session.c')
-rw-r--r--redis_session.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/redis_session.c b/redis_session.c
index 33ccedee..6bb94c60 100644
--- a/redis_session.c
+++ b/redis_session.c
@@ -469,11 +469,14 @@ PS_OPEN_FUNC(redis)
RedisSock *redis_sock;
if (url->host) {
+ zend_string *address;
#if (PHP_VERSION_ID < 70300)
- redis_sock = redis_sock_create(url->host, strlen(url->host), url->port, timeout, read_timeout, persistent, persistent_id, retry_interval);
+ address = strpprintf(0, "%s://%s", url->scheme ? url->scheme : "tcp", url->host);
#else
- redis_sock = redis_sock_create(ZSTR_VAL(url->host), ZSTR_LEN(url->host), url->port, timeout, read_timeout, persistent, persistent_id, retry_interval);
+ address = strpprintf(0, "%s://%s", url->scheme ? ZSTR_VAL(url->scheme) : "tcp", ZSTR_VAL(url->host));
#endif
+ redis_sock = redis_sock_create(ZSTR_VAL(address), ZSTR_LEN(address), url->port, timeout, read_timeout, persistent, persistent_id, retry_interval);
+ zend_string_release(address);
} else { /* unix */
#if (PHP_VERSION_ID < 70300)
redis_sock = redis_sock_create(url->path, strlen(url->path), 0, timeout, read_timeout, persistent, persistent_id, retry_interval);