At one of my sites when updating I get:

Deprecated function: Using ${var} in strings is deprecated, use {$var} instead i require_once() (linje 340

It is in core/includes/

This seems to be because of using php 8.2, but other sites using this gives no errors.

What  should be done - besides ignoring the warnings?


This is happening in the "module_load_include" function, so I suspect the problem is in a contrib module that is being included here.

Can you search or grep your contrib directory for   ${  and report anything that turns up (and is not Javascript)?

That was my suspicion as well. 

I do not know grep, but I can try disabling modules and run the update script. Suspecting tinymce and flexslidet

If you could give me a proper grep line, I can run it.

Question: Will it also try to load disabled and or un-installed  modules?

As a starting point, try this in the /modules directory:

grep -r -i --include=\*.{module,inc,install,php} '${' ./

Thank you laryn,


./views_slideshow/contrib/views_slideshow_cycle/theme/    $aria = "aria-labelledby='views_slideshow_pager_field_item_top_${vss_id}_"; ./views_slideshow/contrib/views_slideshow_cycle/theme/    $aria = "aria-labelledby='views_slideshow_pager_field_item_bottom_${vss_id}_";

But that can not be the problem. I have another site using views-slideshow - no errors.

Fixed it:

I reset the php extensions and version to 'default' in cPanel, and the error is gone. Version stayed the same 8.2.20

So: All is healthy regarding BackdropCMS and all modules I use, but some php extension was either missing or enabled causing the error (which - by the way - did not seem to have any negative impact on the site)