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:
- 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).
- 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!
@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}
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:
- The
ReflectionProperty::setAccessible() deprecation — we can confirm we’re able to reproduce this on our end.
- 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!
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!