After updating from 1.20.2 to 1.21.2 in order to deal with the security issues we were advised about, we got the following errors. This may be to the fact that we are using PHP 8 on that server.

"Deprecated function: Required parameter $settings follows optional parameter $level in require_once() (line 20 of /home/xxxx/"


"Deprecated function: Required parameter $settings follows optional parameter $level in require_once() (line 20 of /home/xxxx/"

I have also been informed by one of our editors that the meta tags used in documents for search engines were no longer available.

So, is there any way to fix these problems without rolling our version of PHP or Backdrop back to an earlier version?



Just a guess...  can you manually copy the latest version of Backup And Migrate via FTP and re-run update.php?

For me, it's always a coin flip of which to update first... core or modules.

This is a common message in PHP 8. Starting in in 8.0, PHP deprecated the use of required parameters after optional ones. This means that you should not write functions that look like this

function hello(int $a = 0, int $b){}; 

In the above, $a is optional and $b is required.

So, there is a function that has this problem in one of the files that are being included in line 20 of You'll need to open each of the included files and look for a function that has this pattern. Then you have two options: either make the parameters after $settings optional, or make $settings not optional (by removing the "=" and the value that follows it). Better yet, once you find it, create an issue in the Backup and Migrate issue queue, so that it gets fixed.

These are the files that are included in the line 20 call:


Good luck!


I want to thank you for the responses.

Let me start by stating the fact that while all of our editors really like using the Backdrop CMS program for posting stories, I personally am a bit disappointed in the “update” procedure.

It is not unusual for me to update 10 to 15 websites a month, using various CMS, Gallery and BB programs. Out of all the programs we use on 4 servers, I can normally conduct all of our updates via softaculous, with one or two clicks of the button. This takes me less then 2 minutes.

Backdrop is the only program we use where I have to manually move everything over by FTP and edit files. So, I am hoping someone will work on making upgrades more “automatic” in the future.

Now, to respond to the comments from Dr. Albany. Since I did a “clone” of our backdrop site before I upgraded it, I have the ability to restore it back to the pre-updated format if needed and rerun the update, if you think it will do any good. Personally, I got the impression from the error codes that it was a conflict with php 8 since they changed some options from “recommend or request” to “require.”

I might also mention that I only updated the core files, not any of the modules.


Now, to respond to argiepiano.

Thank you for such a detailed response and the explaination as to what files need to be manually changed as well as the suggestion about submitting an “issue” in the Backup and Migrate issue queue.

I will try to edit those files in a couple of days when I get back into town from the massive trucker rally and post a response here when I am finished.

Thank you both for your assistance and ideas.

Backdrop has a module you can enable to update without using FTP. I forget if it's called Updater or something like that. I use it on some sites and it's pretty easy: a couple clicks.