php - Yii 1.1 与 PHP 5.6 : how to skip Redis connection error silently

标签 php exception yii 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

我做错了什么?

最佳答案

您需要捕获抛出的 Exception...

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

我认为如果需要,您可以捕获非常具体的 Predis\Connection\ConnectionException 异常。

关于php - Yii 1.1 与 PHP 5.6 : how to skip Redis connection error silently,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49729801/

相关文章:

c++ - 如何在 C++ 程序中获取错误行号

python - 为什么我会收到这个 simplejson 异常?

mysql - 获取yii中的所有表名

PHP 在表字段中发布 $_GET 变量

php - 在查询中使用选择多行时,组连接不起作用?

php - 使用 mysql 在 php 中显示图像

php - 如何从数据库中获取菜单及其子类别

php - 寻找 PHP 正则表达式或函数来使用 .为了安全起见的电子邮件

java - 从 JSP 抛出异常

php - 多对一关系?