• Resolved missveronica

    (@missveronicatv)


    Hi,

    Try to make a Duplicator plugin update test at your own development site.

    After each update of the Duplicator plugin for the last 3+ cases I get a list of 12 messages like this when returning to to the WP Dashboard -> Updates after the update:

    Deprecated: Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1 in .../wp-content/plugins/duplicator/src/Utils/UsageStatistics/PluginData.php on line 102

    In addition to this long list I get two times an error message which most plugin developers fixed 1 year ago:

    Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the duplicator domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in .../wp-includes/functions.php on line 6260

    I’m using PHP 8.5.7

    • This topic was modified 1 week, 1 day ago by missveronica.
Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Support skfaysalalom

    (@flossyfaysal)

    Hi @missveronicatv,

    Thank you so much for taking the time to test this so thoroughly and for the detailed report, this is exactly the kind of feedback that helps us improve the plugin.

    You’ve pointed out two separate issues:

    1. The ReflectionProperty::setAccessible() deprecation — you’re right that this method has had no effect since PHP 8.1, and PHP 8.5 now flags calling it as deprecated. This is a straightforward code cleanup on our end (the call can simply be removed since it’s a no-op).
    2. The _load_textdomain_just_in_time notice — this indicates our translation loading is happening earlier than the init hook, which is a common issue many plugins have had to address as WordPress tightened this requirement. This will need to be moved to the correct hook.

    Neither of these affects site functionality or your backups; they’re PHP/WordPress notices related to code hygiene rather than breaking issues. That said, since you’re running the latest PHP 8.5, we really appreciate you surfacing this early since it’ll help us get ahead of it before more users upgrade to PHP 8.5.

    We’re going to bring this directly to our team. One thing that would really help us though, we haven’t been able to replicate this on our local development servers yet. Would you be able to reach out to us at https://duplicator.com/contact so we can dig into your environment more closely and reproduce the issue on our end?

    Thank you again for the clear details and for helping us keep the plugin clean for newer PHP versions!

    Thread Starter missveronica

    (@missveronicatv)

    @flossyfaysal

    Thanks for you reply.
    I have made a stackdump from the _load_textdomain_just_in_time error message location by inserting 2lines for my stackdump code for your further investigations.

    #0 ...wp-includes/functions.php(6260): Debug_dump->debug_dump_update()
    #1 ...wp-includes/functions.php(6174): wp_trigger_error()
    #2 ...wp-includes/l10n.php(1445): _doing_it_wrong()
    #3 ...wp-includes/l10n.php(1483): _load_textdomain_just_in_time()
    #4 ...wp-includes/l10n.php(195): get_translations_for_domain()
    #5 ...wp-includes/l10n.php(307): translate()
    #6 ...wp-content/plugins/duplicator/src/Utils/CronUtils.php(32): __()
    #7 ...wp-includes/class-wp-hook.php(353): Duplicator\Utils\CronUtils::defaultCronIntervals()
    #8 ...wp-includes/plugin.php(206): WP_Hook->apply_filters()
    #9 ...wp-includes/cron.php(1169): apply_filters()
    #10 ...wp-includes/cron.php(265): wp_get_schedules()
    #11 ...wp-content/plugins/duplicator/src/Utils/Email/EmailSummaryBootstrap.php(181): wp_schedule_event()
    #12 ...wp-content/plugins/duplicator/src/Utils/Email/EmailSummaryBootstrap.php(118): Duplicator\Utils\Email\EmailSummaryBootstrap::updateCron()
    #13 ...wp-includes/class-wp-hook.php(353): Duplicator\Utils\Email\EmailSummaryBootstrap::activationAction()
    #14 ...wp-includes/class-wp-hook.php(377): WP_Hook->apply_filters()
    #15 ...wp-includes/plugin.php(523): WP_Hook->do_action()
    #16 ...wp-content/plugins/duplicator/classes/class.plugin.upgrade.php(52): do_action()
    #17 ...wp-content/plugins/duplicator/src/Core/Bootstrap.php(164): DUP_LITE_Plugin_Upgrade::onActivationAction()
    #18 ...wp-includes/class-wp-hook.php(353): Duplicator\Core\Bootstrap::update()
    #19 ...wp-includes/class-wp-hook.php(377): WP_Hook->apply_filters()
    #20 ...wp-includes/plugin.php(523): WP_Hook->do_action()
    #21 ...wp-settings.php(630): do_action()
    #22 ...wp-config.php(92): require_once('...')
    #23 ...wp-load.php(50): require_once('...')
    #24 ...wp-admin/admin.php(35): require_once('...')
    #25 ...wp-admin/plugins.php(10): require_once('...')
    #26 {main}
    • This reply was modified 1 week, 1 day ago by missveronica.
    Plugin Support skfaysalalom

    (@flossyfaysal)

    Hi @missveronicatv,

    Thanks so much for the stack trace, this is incredibly helpful for pinpointing the exact code path!

    To follow up on the two issues:

    1. The ReflectionProperty::setAccessible() deprecation — we can confirm we’re able to reproduce this on our end.
    2. The _load_textdomain_just_in_time notice — we’re currently checking this against your stack trace and code details.

    I’ll get back to you shortly once we have more to share. Thanks again for your patience and for the detailed debugging info!

    Plugin Support skfaysalalom

    (@flossyfaysal)

    Hi @missveronicatv,

    Thanks so much for your patience so far!

    We can confirm both issues have been reproduced on our end, and we’ve created a task to get them addressed. We’re hopeful this will be included in our next release.

    Thanks again for taking the time to report and help us improve the plugin!

Viewing 4 replies - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.