Support

Admin Tools

#42232 Akeeba backup - restore error

Posted in ‘Admin Tools for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
V5
PHP version
8.3
Admin Tools version
7.8.0

Latest post by rbirbi on Thursday, 28 August 2025 04:16 CDT

rbirbi

Hi,

My problem is with Akeeba backup that I seldom use, but that I did use this morning because something was going wrong on the administration.

I tried to restore a backup of the entire site that I did last night. My akeeba version is 9.9.2

I get this error at the final step on the restoration of the database.

Akeeba Backup Site Restoration Script v.9.8.4
Application Error
Please submit the following error message and trace in its entirety when requesting support

TypeError — substr(): Argument #1 ($string) must be of type string, array given
/homepages/45/d436077795/htdocs/jocardio/installation/platform/models/joomlasetup.php::L992

#0 /homepages/45/d436077795/htdocs/jocardio/installation/platform/models/joomlasetup.php(992): substr()
#1 [internal function]: AngieModelJoomlaSetup->{closure}()
#2 /homepages/45/d436077795/htdocs/jocardio/installation/platform/models/joomlasetup.php(991): array_map()
#3 /homepages/45/d436077795/htdocs/jocardio/installation/platform/models/joomlasetup.php(1161): AngieModelJoomlaSetup->updateAdminToolsAllowedDomains()
#4 /homepages/45/d436077795/htdocs/jocardio/installation/platform/models/joomlasetup.php(55): AngieModelJoomlaSetup->updateAdminToolsParams()
#5 /homepages/45/d436077795/htdocs/jocardio/installation/angie/controllers/base/setup.php(23): AngieModelJoomlaSetup->applySettings()
#6 /homepages/45/d436077795/htdocs/jocardio/installation/framework/controller/controller.php(511): AngieControllerBaseSetup->apply()
#7 /homepages/45/d436077795/htdocs/jocardio/installation/framework/dispatcher/dispatcher.php(264): AController->execute()
#8 /homepages/45/d436077795/htdocs/jocardio/installation/framework/application/application.php(177): ADispatcher->dispatch()
#9 /homepages/45/d436077795/htdocs/jocardio/installation/index.php(130): AApplication->dispatch()
#10 /homepages/45/d436077795/htdocs/jocardio/installation/index.php(245): mainLoop()
#11 {main}
Copyright ©2006 – 2025 Akeeba Ltd. All rights reserved.
ANGIE is Free Software distributed under the GNU GPL version 3 or any later version published by the FSF.

Regards,
Roland

nicholas
Akeeba Staff
Manager

Thank you for contacting us about this issue.  It appears that your backup was taken by a version released in January 2024. The issue you are facing was addressed in a version of Akeeba Backup released over a year ago.

I understand that you are stuck with this older backup. We can work around the issue you are facing so you can complete the restoration. Here is how:

  1. Extract the backup archive as you normally would.
    Once the files are unpacked, pause before you click the “Run the Installer” button.

  2. Open the file
    installation/platform/models/joomlasetup.php

  3. Locate line 1209 – you should see the following code:

    $config = $this->updateAdminToolsConfigMakerDomains($config);
    
  4. Comment out that line so it is ignored during the installation.
    Change it to:

    // $config = $this->updateAdminToolsConfigMakerDomains($config);
    

    (The double forward‑slashes // tell PHP to treat the line as a comment.)

  5. Save the file and close the editor.

  6. Proceed with the restoration – you can now safely click the “Run the Installer” button and continue the process.

If you are unable to access your site post-restoration please follow the instructions in https://www.akeeba.com/documentation/admin-tools-joomla/atwafissues.html. You may have to empty the rows of the Allowed Domains setting in the Configure WAF page.

If anything feels unclear or you run into another issue, please let us know. We’re here to help you every step of the way.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rbirbi

Thanks for your reply.

Actually, what I did while waiting for you quick reply (thank you), is that I renamed the folder 'installation'  to 'install'. The Site and the Administration are operational, all working OK. At least, this is what I see since 10 minutes. I did that because I saw that the error came after the restoration of the files, and after having start the restoration of the database.

So question is: do I rename back the 'install' to 'installation', and proceed with your step ? Or shall I keep going like now?

regards,

Roland

nicholas
Akeeba Staff
Manager

Your solution does indeed work because you’re restoring the site to exactly the same environment – the same database connection details, the same domain, and everything else matches up.

If any of those elements were to change (for example, a new database host, a different domain name, or altered credentials), you would need to follow the workaround I outlined earlier to update the settings accordingly in your site's configuration.php file.

For your current set‑up, you can simply delete the install folder – once it’s removed, everything should continue to run smoothly.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

rbirbi

Fantastic! I understand the logic.

Thanks Nicholas. Have a great day.

Roland

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!