Has anyone seen this error with Hummingbird Caching?

Has anyone seen this error within their WP dashboard?

"The first argument should be either a string or an integer in /home/wpmudev/public_html/network/wp-includes/cache.php on line 700"

I'm running a multisite with Hummingbird as my only caching plugin. I noticed that this error pops when I add a new user. I first saw it when I added a new site for a customer. But again it's not so much the adding a new site...This error shows when I add a new user.

Not sure if it's a Hummingbird issue? It's kind of annoying having to look at it everyday. My customers are also asking what this is all about...

Any advice on how to fix will be appreciated. Thanks!

  • Nithin
    • Support Wizard

    Hi Simplebutcreative Media,

    "The first argument should be either a string or an integer in /home/wpmudev/public_html/network/wp-includes/cache.php on line 700"

    This is an odd issue, we haven't had any such recent reports to confirm whether the issue is specific to Hummingbird, or not. This would require more troubleshooting.

    This error shows when I add a new user.

    I tried to replicate this issue by adding a new user in the network side, and also in the main site, but it seems to work fine in my local server. You notice the error getting generating in the dashboard side? or is it in the debug logs?

    I could notice your site is running on Hummingbird v 1.9.1. We have a new plugin update v 1.9.2, which has many bug fixes. Could you please update the plugin to the latest version, and see whether you still notice the issue?

    If the issue still exist, please check whether disabling Hummingbird plugin, and then creating a new user gives the same issue, or not, so that it would give a better idea.

    Seems like Support access to your site wasn't enabled, so I wasn't able to give a closer look at your dashboard, and see the issue in live.

    If you still have issue even after performing the above mentioned steps, then could you please enable support access to your site, so that we could give a closer look?

    You can grant access from WPMU DEV > Support > Support Access > Grant Access, or check this manual: https://premium.wpmudev.org/docs/getting-started/getting-support/#chapter-5

    Please let us know once you enable access, so that we could get this sorted. Have a nice day ahead. :slight_smile:

    Best Regards,
    Nithin

  • Simplebutcreative Media
    • Site Builder, Child of Zeus

    Thanks for the reply Nithin !

    I just noticed the new hummingbird update now. Also, I'm not really sure if this is a hummingbird issue. I just assumed because I see the word cache part of that string. But then again I'm no developer. I'm just an internet marketer.

    By the time you read this Hummingbird will have been updated...

    I just added a new user within my network and it showing me the same error again. I see this error inside my dashboard by the way. This is after updating Hummingbird.

    I also tried adding a new user with Hummingbird deactivated and still showing the same error.

    I'm reactivating Hummingbird again. Support is now open!

    Thanks!

  • Simplebutcreative Media
    • Site Builder, Child of Zeus

    Kasia Swiderska

    The error shows within the subsite's dashboard. In order for you to see it, your user needs to be connected to a site. I've added your "WPMUDEVTEST" user to one of my mapped subsite (voco).

    I currently have the "user switching" plugin installed. You can either switch to that user or log in using that credential. You will see the error...

    "The first argument should be either a string or an integer in /home/******/public_html/network/wp-includes/cache.php on line 700"

    Also, I've already tested adding a new user with or without the hummingbird plugin. This error doesn't show to any of my older user accounts in the network. Seems like it only shows for new users that's connected to a subsite of course.

  • Kasia Swiderska
    • Support nomad

    Hello Simplebutcreative Media,

    I was testing as Super admin when going to Dashboard and then adding a new user, that is why I wasn't seeing that error. But when logged in as non-super admin I saw the error.
    Can you open file wp-config.php and look for the line:

    define('WP_DEBUG', true);

    change it to:

    define('WP_DEBUG', false);

    if this will not remove that Warning from Dashboard, then it's very possible that one of the other plugins (other than Defender) is causing this.
    Is it possible for you to create a staging site for this one? With the staging site, it's easier to perform a plugin conflict test without touching the live site.

    kind regards,
    Kasia

  • Kasia Swiderska
    • Support nomad

    Hello Simplebutcreative,

    Hmmm I do have the cloner plugin installed BUT I don't think that will help since it's still under the same multisite installtion. It will still affect the live site.

    You can use Cloner and try with plugins that are activated per site.

    But if any of those will not be a culprit then we will need to check those that are network activated. This will affect the whole network for the time of the test.

    Can you check if your hosting provider has an option for staging sites? Some providers do offer that.

    kind regards,
    Kasia

  • Kasia Swiderska
    • Support nomad

    Hello Simplebutcreative Media,

    Let's try more debugging. Maybe there is more than one warning that would actually point us more to right direction.

    To enable it, open your wp-config.php file and look for define(‘WP_DEBUG’, false);. Change it to:

    define('WP_DEBUG', true);

    In order to enable the error logging to a file on the server you need to add yet one more similar line:

    define( 'WP_DEBUG_LOG', true );

    In this case, the errors will be saved to a debug.log log file inside the /wp-content/directory.

    Depending on whether you want your errors to be only logged or also displayed on the screen you should also have this line there, immediately after the line mentioned above:

    define( 'WP_DEBUG_DISPLAY', false );

    The wp-config.php is located in your WordPress root directory. It’s the same file where the database configuration settings are. You will have to access it by FTP or SFTP in order to edit it.

    If you open wp-config.php and that define statement is not there, you can add it right before this line:

    /* That's all, stop editing! Happy blogging. */

    after that try to see that warning again and you should get a debug.log inside wp-content directory.
    Upload it to Dropbox like a service and paste a link so I can review this file.

    kind regards,
    Kasia

  • Simplebutcreative Media
    • Site Builder, Child of Zeus

    Kasia Swiderska

    Did what you asked...the Debug Log shows the same error you and I are seeing inside the subsite dashboard with a new user. The error was repeated 3 times.

    [24-Aug-2018 23:54:49 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [24-Aug-2018 23:54:57 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [24-Aug-2018 23:55:15 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700

    There's no other log showing other than those 3...

  • Simplebutcreative Media
    • Site Builder, Child of Zeus

    Kasia Swiderska

    Here's an update for you. I just checked the error for the newest users in my network. The error seemed to have disappeared OR the wp_debug started working and hid the error.

    Here's what the debug log is showing now...

    [25-Aug-2018 00:54:43 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [25-Aug-2018 19:58:50 UTC] PHP Notice:  Undefined index: HTTP_USER_AGENT in /home/********/public_html/network/wp-content/plugins/wp-hummingbird/core/modules/class-module-page-cache.php on line 566
    [26-Aug-2018 03:36:03 UTC] PHP Notice:  Undefined index: HTTP_USER_AGENT in /home/********/public_html/network/wp-content/plugins/wp-hummingbird/core/modules/class-module-page-cache.php on line 566
    [26-Aug-2018 05:37:56 UTC] PHP Notice:  Undefined index: HTTP_USER_AGENT in /home/********/public_html/network/wp-content/plugins/wp-hummingbird/core/modules/class-module-page-cache.php on line 566
    [26-Aug-2018 12:11:11 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [26-Aug-2018 12:11:58 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [26-Aug-2018 12:12:25 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700
    [26-Aug-2018 12:21:03 UTC] PHP Warning:  array_key_exists(): The first argument should be either a string or an integer in /home/********/public_html/network/wp-includes/cache.php on line 700

    Let me know what you think?

    Thanks!

  • Kasia Swiderska
    • Support nomad

    Hello Simplebutcreative Media,

    It looks like the Warning is gone because of this line:

    define( 'WP_DEBUG_DISPLAY', false );

    Try leaving this line but change true to false here:

    define('WP_DEBUG', true);

    About this notice in debug.log:
    [26-Aug-2018 05:37:56 UTC] PHP Notice: Undefined index: HTTP_USER_AGENT in /home/********/public_html/network/wp-content/plugins/wp-hummingbird/core/modules/class-module-page-cache.php on line 566
    which might be related to that other warning, I send message to developers about possible cause (I wasn't able to get this to show on my site) and I'm waiting for answer.

    kind regards,
    Kasia

  • Kasia Swiderska
    • Support nomad

    Hello Simplebutcreative Media,

    It should hide that warning that shows in Dashboard. I spoke with the developer and they checked that part of the code and it would require plugin conflict to see which plugin is sending data to that part and then when we know what is using it then check what is sent (or maybe why part of data is missing).

    kind regards,
    Kasia

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.