Yii 1.1 с PHP 5.6: как тихо пропустить ошибку подключения Redis

Я читаю дополнительную информацию из 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

Что я делаю неправильно?

В yii2 redis нет такой команды connect

Ofershap 09.05.2018 14:03

@Ofershap, это также относится к yii 1.1, о котором конкретно спрашивает OP?

Nigel Ren 09.05.2018 15:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
125
1

Ответы 1

Вам нужно поймать брошенный Exception ...

try {
    $r = new Redis();
    $r->connect("127.0.0.1", "6379");
} catch (\Exception $e) {
    ;
}

Я думаю, вы можете поймать очень конкретное исключение Predis\Connection\ConnectionException, если вам нужно.

Другие вопросы по теме