Я читаю дополнительную информацию из Redis, и желаемое поведение - молча пропускать ошибку подключения, если таковая имеется:
try {
$r = new Redis();
$r->connect("127.0.0.1", "6379");
} catch (Error $e) {
;
} catch (Throwable $e) {
;
}
Если Redis выйдет из строя, система мониторинга покажет нужным людям предупреждение, чтобы исправить это.
К сожалению, приведенный выше код по-прежнему приводит к сбою Yii и созданию HTTP 500:
2018/04/09 12:28:04 [error] [php] Redis::connect(): connect() failed: Connection refused
Что я делаю неправильно?
@Ofershap, это также относится к yii 1.1, о котором конкретно спрашивает OP?






Вам нужно поймать брошенный Exception ...
try {
$r = new Redis();
$r->connect("127.0.0.1", "6379");
} catch (\Exception $e) {
;
}
Я думаю, вы можете поймать очень конкретное исключение Predis\Connection\ConnectionException, если вам нужно.
В yii2 redis нет такой команды connect