From 625d68e5ffa998032181f7c85c53f06c10b58707 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Thu, 1 Aug 2024 09:07:03 +0300 Subject: [PATCH] Add IPv6 support Add Hostinger we run memcached on ::1 (IPv6-only), and noticed, that it do not work. Let's get fix it. Signed-off-by: Donatas Abraitis --- object-cache.php | 22 ++++++++++++++++++---- readme.txt | 3 ++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/object-cache.php b/object-cache.php index dd2ff80..785347e 100644 --- a/object-cache.php +++ b/object-cache.php @@ -1082,11 +1082,25 @@ function __construct() { $node = $server; $port = 0; } else { - if ( false === strpos( $server, ':' ) ) { - $node = $server; - $port = ini_get( 'memcache.default_port' ); + // [::1]:11211 + // [::1] + if ( false !== strpos( $server, ']' ) ) { + if ( false === strpos( $server, ']:' ) ) { + $node = $server; + $port = ini_get( 'memcache.default_port' ); + } else { + list ( $node, $port ) = explode( ']:', $server, 2 ); + $node .= ']'; + } + // 127.0.0.1:11211 + // 127.0.0.1 } else { - list ( $node, $port ) = explode( ':', $server, 2 ); + if ( false === strpos( $server, ':' ) ) { + $node = $server; + $port = ini_get( 'memcache.default_port' ); + } else { + list ( $node, $port ) = explode( ':', $server, 2 ); + } } $port = intval( $port ); diff --git a/readme.txt b/readme.txt index 84d1304..1c70b2d 100644 --- a/readme.txt +++ b/readme.txt @@ -36,7 +36,8 @@ Add something similar to the following to wp-config.php above `/* That's all, st $memcached_servers = array( 'default' => array( '10.10.10.20:11211', - '10.10.10.30:11211' + '10.10.10.30:11211', + '[::1]:11211', ) ); `