Docker Redis выдает «ошибка чтения при соединении» - PullRequest
1 голос
/ 06 апреля 2020

Я использовал 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; все та же ошибка.

Кто-нибудь знает, что здесь происходит?

...