• Resolved SiteBolts

    (@sitebolts)


    On PHP 8.4, our Breeze sites throw this fatal error for logged-out users:

    [24-Dec-2024 09:49:06 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function Breeze_Cache_Init\mb_strtolower() in /home/oursite/example.com/wp-content/plugins/breeze/inc/cache/execute-cache.php:603
    Stack trace:
    #0 /home/oursite/example.com/wp-content/plugins/breeze/inc/cache/execute-cache.php(167): Breeze_Cache_Init\check_exclude_page()
    #1 /home/oursite/example.com/wp-content/advanced-cache.php(17): include_once('/home/oursite/...')
    #2 /home/oursite/example.com/wp-settings.php(97): include('/home/oursite/...')
    #3 /home/oursite/example.com/wp-config.php(83): require_once('/home/oursite/...')
    #4 /home/oursite/example.com/wp-load.php(50): require_once('/home/oursite/...')
    #5 /home/oursite/example.com/wp-blog-header.php(13): require_once('/home/oursite/...')
    #6 /home/oursite/example.com/index.php(17): require('/home/oursite/...')
    #7 {main}
    thrown in /home/oursite/example.com/wp-content/plugins/breeze/inc/cache/execute-cache.php on line 603

    We’ve deactivated the plugin for now on our PHP 8.4 sites but are looking forward to a fix so that we can resume using it.

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author owaisalam

    (@owaisalam)

    Thank you for highlighting the issue, and we’re sorry for the inconvenience you’ve faced.

    It would be helpful if you could share the Breeze settings you’ve applied, as well as details about any specific actions performed before the issue occurred. We attempted to verify the issue on our end but were unable to replicate it, which is why I’m asking these questions to help identify the point of conflict.

    Plugin Author owaisalam

    (@owaisalam)

    Please update.

    Thread Starter SiteBolts

    (@sitebolts)

    It looks like the issue is that Breeze requires the PHP “mbstring” module to be active and for some reason Namecheap has it disabled by default in PHP 8.4.

    I would recommend either removing that dependency if possible or at least catching the error and displaying an admin notice instead of letting it throw a fatal error.

    Plugin Author owaisalam

    (@owaisalam)

    The PHP extension extension=mbstring is recommended to be loaded at all times.

    If the mbstring extension isn’t available, handling Unicode characters effectively won’t be possible. This is a server-side issue, as mbstring is an important extension that should not be disabled.

    To address this at the application level, you may add specific configurations to wp-config.php.

    if (!function_exists('mb_strtolower')) {
    function mb_strtolower($string)
    {
    return strtolower($string);
    }
    }

    However, the best solution is to request server support to enable the extension.

    Thread Starter SiteBolts

    (@sitebolts)

    It’s already resolved on our end and that’s a nice temporary workaround for anyone who needs it, but most users are just going to see a broken site and not know how to do any of that. It would be better to patch your plugin to either catch the fatal error or avoid relying on mbstring to begin with.

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