diff options
author | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2019-10-26 17:54:27 +0300 |
---|---|---|
committer | Pavlo Yatsukhnenko <yatsukhnenko@gmail.com> | 2019-10-26 17:54:27 +0300 |
commit | 53a8bcc7a9f316c9dfdc118e316139defc9316e1 (patch) | |
tree | eb6e5cfff406b5eb0bac477516a1a720e751fb8c /redis_session.c | |
parent | 8739fa5fa8c3c00fbcdf759dd42e8f0c7d46c66f (diff) |
Issue #1657
Allow to specify schema for session handler.
Diffstat (limited to 'redis_session.c')
-rw-r--r-- | redis_session.c | 7 |
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); |