Support » Plugin: Redis Object Cache » Redis Client and Site Health

  • Resolved KaiStone

    (@kaistone)


    Hi,
    Iam running WordPress 5.5 and PHP 7.4, with latest version of this plugin.
    Plugin is now working well, I can see it saves SQL querries to the database. However there are 2 things.

    1. Redis admin shows Iam using “Client: Predis (v1.1.6)” but in fact Iam using “PhpRedis 5.3.1” that installed through PECL. If I manually change Client value in plugin config to “phpredis”, plugin stops working. Is this a problem?

    2. Site Health stops working. It always shows “No information yet…” and does not update its status at all.

    Please take a look. Thank you.

Viewing 13 replies - 1 through 13 (of 13 total)
  • Plugin Author Till Krüss

    (@tillkruess)

    Can you post your diagnostics from Settings => Redis?

    Here it is

    Status: Connected
    Client: Predis (v1.1.6)
    Drop-in: Valid
    Disabled: No
    Filesystem: Working
    Ping: PONG
    Errors: []
    PhpRedis: 5.3.1
    Predis: 1.1.6
    Credis: Not loaded
    PHP Version: 7.4.11
    Plugin Version: 2.0.15
    Redis Version: 6.0.8
    Multisite: Yes
    Global Prefix: ""
    Blog Prefix: 1
    WP_REDIS_DISABLED: ""
    WP_REDIS_CLIENT: ""
    WP_REDIS_SCHEME: "unix"
    WP_REDIS_PATH: "/server/redis/var/run/redis.sock"
    WP_REDIS_HOST: "localhost"
    WP_REDIS_PORT: "6379"
    WP_REDIS_DATABASE: "10"
    WP_REDIS_TIMEOUT: "5"
    WP_REDIS_READ_TIMEOUT: "5"
    WP_REDIS_RETRY_INTERVAL: ""
    WP_REDIS_IGBINARY: "true"
    WP_REDIS_SERIALIZER: ""
    WP_REDIS_MAXTTL: "0"
    WP_REDIS_PREFIX: "gd_"
    WP_REDIS_IGNORED_GROUPS: ["counts","plugins"]
    WP_REDIS_UNFLUSHABLE_GROUPS: ""
    Global Groups: [
        "blog-details",
        "blog-id-cache",
        "blog-lookup",
        "global-posts",
        "networks",
        "rss",
        "sites",
        "site-details",
        "site-lookup",
        "site-options",
        "site-transient",
        "users",
        "useremail",
        "userlogins",
        "usermeta",
        "user_meta",
        "userslugs",
        "redis-cache",
        "blog_meta"
    ]
    Ignored Groups: [
        "counts",
        "plugins",
        "wordfence-ls"
    ]
    Unflushable Groups: []
    Drop-ins: [
        "Redis Object Cache Drop-In v2.0.15 by Till Krüss"
    ]
    
    Plugin Author Till Krüss

    (@tillkruess)

    If you add this to your config, what error are you seeing?

    
    define( 'WP_REDIS_CLIENT', 'phpredis' );
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true );
    

    Blog page shows this error

    There has been a critical error on your website.

    Learn more about debugging in WordPress.

    WP Admin shows

    There has been a critical error on your website. Please check your site admin email inbox for instructions.

    Learn more about debugging in WordPress.

    And no debug message.

    Plugin Author Till Krüss

    (@tillkruess)

    What does your error log show?

    Sorry, error page did show debug info. I forget a line define debug false around.

    This is the debug message

    Warning: Redis::connect() expects parameter 5 to be int, string given in /server/www/site/wp-content/object-cache.php on line 582

    Fatal error: Uncaught RedisException: Redis server went away in /server/www/site/wp-content/object-cache.php:597 Stack trace: #0 /server/www/site/wp-content/object-cache.php(597): Redis->select() #1 /server/www/site/wp-content/object-cache.php(427): WP_Object_Cache->connect_using_phpredis() #2 /server/www/site/wp-content/object-cache.php(173): WP_Object_Cache->__construct() #3 /server/www/site/wp-includes/load.php(638): wp_cache_init() #4 /server/www/site/wp-settings.php(131): wp_start_object_cache() #5 /server/www/site/wp-config.php(146): require_once(‘/server/www/gio…’) #6 /server/www/site/wp-load.php(37): require_once(‘/server/www/gio…’) #7 /server/www/site/wp-blog-header.php(13): require_once(‘/server/www/gio…’) #8 /server/www/site/index.php(17): require(‘/server/www/gio…’) #9 {main} thrown in /server/www/site/wp-content/object-cache.php on line 597
    There has been a critical error on your website.

    Learn more about debugging in WordPress.

    Plugin Author Till Krüss

    (@tillkruess)

    You set WP_REDIS_RETRY_INTERVAL to an empty string. Comment that out.

    Yes, that seems exactly the problem. Now Client is PhpRedis and I can see Host value is Redis socket location instead of localhost like before. I only feel strange while Plugin still works without proper client driver.

    And for Site Health problem, do you have any recommendation?

    Plugin Author Till Krüss

    (@tillkruess)

    Are you referring to the dashboard widget, or Tools > Site Health?

    Both of them are not working property and show “No information yet…” / “Results are still loading…”. They only work if I disable the plugin / or Disable Object Cache.

    Plugin Author Till Krüss

    (@tillkruess)

    Please try disabling all other plugins, one by one, to narrow down which plugin is causing an incompatibility with Redis Object Cache.

    I can try to reproduce it after that 👍🏻

    I’ve found the problem. It does not come from your plugin but truly from a plugin function that incompatible with Redis Object Cache.

    If “Disable Heartbeat” option from “Perfmatters” is set to value other than “Default” then Site Health problem happens. I just write it down here so anyone having the same issue with same situation may find the answer. Now everything is working flawlessly.

    Thank you for your nice support.

    Plugin Author Till Krüss

    (@tillkruess)

    Great. I’m glad you resolved this!

Viewing 13 replies - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.