• Hi

    We’ve found a deprecation problem for PHP 8.1 in your worker plugin.

    In worker/src/MWP/Worker/Request.php on Line 198, you have an NULL value that you pass to the base64_decode function. That is no longer allowed and deprecated with PHP 8.1. Looks like the $this->signatureHeaderName is not found in $this->getHeader(). We’ve temporarily fixed it by either returning an empty strinng instead of NULL or replace the line base64_decode($this->getHeader($this->signatureHeaderName)) with base64_decode($this->getHeader($this->signatureHeaderName) ?? ''). We dont know what consequenses this has, but it would be appreciated if you could fix this asap. We dont want to change the code manually on all of our customers websites, thats a lot of work…

    • This topic was modified 1 year, 9 months ago by FAKTOR VIER.
Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Support ddragovic

    (@ddragovic)

    Hello there,

    Our plugin should be fully compatible with PHP 8.0 and above. The user’s issues in the past were usually resolved by clearing the worker entries in the database as they were cached.

    The reason why this happens, in general, is that, for some reason, the Worker plugin’s entries (starting with “mwp_”) in the database’s wp-options table get written differently than expected.

    It appears that some caching functionalities, such as perhaps the “Object Cache” or any cache related to Redis or on the server, may have caused the “mwp_” entries to be populated with the wrong format in the wp-options database table.

    If you are willing to try some steps in order to be running the higher PHP version than 7.4, here’s what you can do:

    – Delete the Worker plugin from this site
    – Go to wp-content/mu-plugins folder and see if there’s a 0-worker.php under there – it it’s there, delete it
    – Go to the database and please make a manual backup (export it)
    – Search for entries that start with mwp_ in the wp_options table
    – Delete the entries
    – Clear any cache that you may have on your website and on the server
    – Reinstall the Worker plugin

    Here’s a screenshot of how you can search for the tables:

    07de4ed2d0e5459c29d0293fbad7ae13.png

    Once you’ve removed all entries, please clear your website’s cache and re-install the Worker plugin again.

    Thread Starter FAKTOR VIER

    (@faktorvier)

    Hi

    I’ve seen this response to another issue, but thats way too much work for us to do this for all our customers and all environments. It just can’t be that this is an issue that has to be resolved manually on every installation.

    I would really expect to receive some kind of update script in a plugin version that fixes this automatically.

    Also, do we have to reconnect all pages manually again in ManageWP?

    Thread Starter FAKTOR VIER

    (@faktorvier)

    @ddragovic So no followup on this? We really have to do this steps you mentioned above for over 100 environments?

    Plugin Support aleksandralazic

    (@aleksandralazic)

    Hey there,

    I understand this action demands a huge amount of your time, however, currently, we are able to provide only the workaround that David mentioned in his previous response. Unfortunately, this has to be done for each website manually, as well as the reconnection. What I can suggest additionally, is that you open the ticket related to this issue from your account, that way we will be able to forward your feedback to our developers for further investigation. You can also write us at helpdesk@managewp.com.

    Thread Starter FAKTOR VIER

    (@faktorvier)

    @aleksandralazic @ddragovic

    We tried all the steps prived above but we still get deprecation warnings from your plugin. And thats exactly the deprecation warning caused by the code I mentioned in the original post at the start. It would be appreciated if you could update your plugin with this simple mentioned fix.

    We need a working solution until the end of this month. If thats not possible until then, we have to look for alternatives or other solutions.

    Same issue here on a lot of sites. Please provide a fix asap.

    @ddragovic @aleksandralazic The issue is still not resolved, none of the solutions mentioned in the various support threads regarding this topic work. Are you still working on this issue and can provide an estimate as to when the issue will be resolved?

    Plugin Support Stefan

    (@sradovanovic)

    @herrschuessler

    I am 100% sure that the deprecation issues have been resolved. In fact, I’ve just checked in with our main developer and he confirmed that the Worker plugin’s 4.9.17 version had these patched.

    Could you please confirm if the version of the Worker plugin on your end is the 4.9.17 version? If yes and if the issues are persisting through, could you please provide me with the details and the exact line of the error?

    Further cooperation is much appreciated.

    Thread Starter FAKTOR VIER

    (@faktorvier)

    I can confirm that its DEFINITELY NOT fixed in the version 4.9.17, and its getting pretty annoying how you guys still think its not an issue.

    I’ve opened a ticket a few months ago directly in the ManageWP system and you guys even CONFIRMED to me, that this is actually an issue and that it has been escalated to the developers.

    I haven’t heard anything since… Really unprofessional handling of this pretty obvious issue.

    @sradovanovic We are running the current version, the errors still are:

    strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated

    Call Stack:

        wp-includes/functions.php:7053
        strpos()
        wp-includes/functions.php:7053
        wp_is_stream()
        wp-includes/functions.php:2158
        wp_normalize_path()
        wp-includes/plugin.php:768
        plugin_basename()
        wp-admin/includes/plugin.php:1405
        add_submenu_page()
        wp-content/plugins/worker/src/MWP/WordPress/Context.php:765
        MWP_WordPress_Context->addSubMenuPage()
        wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/AddStatusPage.php:44
        MWP_EventListener_PublicRequest_AddStatusPage->addStatusPage()
        wp-includes/class-wp-hook.php:308
        do_action('admin_menu')
        wp-admin/includes/menu.php:155

    And

    str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated

    Call Stack

        wp-includes/functions.php:2165
        str_replace()
        wp-includes/functions.php:2165
        wp_normalize_path()
        wp-includes/plugin.php:768
        plugin_basename()
        wp-admin/includes/plugin.php:1405
        add_submenu_page()
        wp-content/plugins/worker/src/MWP/WordPress/Context.php:765
        MWP_WordPress_Context->addSubMenuPage()
        wp-content/plugins/worker/src/MWP/EventListener/PublicRequest/AddStatusPage.php:44
        MWP_EventListener_PublicRequest_AddStatusPage->addStatusPage()
        wp-includes/class-wp-hook.php:308
        do_action('admin_menu')
        wp-admin/includes/menu.php:155
    wwwcre8r

    (@wwwcre8r)

    @ddragovic

    I too find that this is not resolved in Version 4.9.17

    I followed the above instructions and the PHP errors are still present.

    Can I please ask for a status update/ ETA to resolve this issue, I really don’t want to have to find and then implement a replacement for ManageWP for a few hundred sites on WP Engine.

    Many thanks, Will

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘PHP 8.1 deprecated’ is closed to new replies.