Я использовал Redis для docker образа некоторое время (неделю или около того), успешно установленного через plesk. Мы решили обновить аппаратное обеспечение VPS-сервера, и после перезагрузки docker Redis выдает «ошибка чтения при подключении» при попытке сделать что-либо, кроме подключения.
Я попытался установить PHP default_socket_timeout
ini_set('default_socket_timeout', -1);
и время ожидания redis:
$clientRedis->setOption(Redis::OPT_READ_TIMEOUT, -1);
Но все равно ошибка остается .. Вот мой код, который я использую для тестирования:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('default_socket_timeout', -1);
$clientRedis = new Redis();
function Redis_connect($hostname, $port){
$start = time();
global $clientRedis;
try {
$connected = $clientRedis->connect($hostname, $port);
$clientRedis->setOption(Redis::OPT_READ_TIMEOUT, -1);
if (!$connected) { throw new Exception(); }
} catch (Exception $e) {
$elapsed = time() - $start;
echo "Elapsed: " . $elapsed . "\n";
die($e->getMessage());
}
}
//Connecting to Redis server on localhost
echo Redis_connect("127.0.0.1", 6379);
echo "Connected to server successfully";
echo "";
echo "Server is running: " . $clientRedis->ping();
echo "";
?>
Это выводит:
Connected to server successfully
Fatal error: Uncaught RedisException: read error on connection in [..]/redis.php:32 Stack trace: #0 [..]/redis.php(32): Redis->ping() #1 {main} thrown in [..]/redis.php on line 32
единственное, что я мог найти в Google, были настройки тайм-аута, которые не работали. Я пробовал несколько версий изображений, Alpine, последняя версия 5.0.8; все та же ошибка.
Кто-нибудь знает, что здесь происходит?