php - 如何使用PHP中的Predis库检查redis服务器是否正在运行

标签 php exception redis predis

我正在将 Redis 缓存与我的网站之一集成,我使用 Predis 作为客户端。我创建了一个用于初始化的静态类。

我需要检查redis 服务器是否正在运行。

我已经尝试了很多次,但都没有用,它无法捕获异常。

我的代码是

public static function checkRedisConnection()
{
    self::initialize();
    $client = new Predis\Client();
    try
    {
        $client->connect();
    }
    catch (Predis\Network\ConnectionException $exception)
    {
        exit("whoops, couldn't connect to the remote redis instance!");
    }

    $client->info();
}

类中的上述函数无法捕获错误,而是在整个站点上显示错误。

遇到这种情况怎么办?

最佳答案

您的 try/catch block 无法拦截异常,原因很简单:类 Predis\Network\ConnectionException 不存在,正确的是 Predis\Connection\ConnectionException ( see also here )

关于php - 如何使用PHP中的Predis库检查redis服务器是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655437/

相关文章:

java - 显示 SQL 错误信息

php - 正则表达式之间的精确数字/字符串匹配

php - 阿拉伯语网络字体

java - 可调用和异常处理

redis - 两台redis-server共享同一个dump.rdb文件的陷阱

mysql - 如何确保内存消耗不随 redis 数据库的大小而缩放

ruby-on-rails - 将 Paperclip 与 rails-redis 一起使用时为 "IOError - closed stream"

php - $_SERVER ['REQUEST_URI' ] 和 header ('location: ...' 的任何安全问题);

php - 如何使用 php 在远程 mysql 服务器上查看、编辑或创建表

python try except 不捕获所有错误