Support

Site Restoration

#38876 Error — Undefined constant "MCRYPT_RIJNDAEL_128"

Posted in ‘Site restoration’
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

PHP version
8
CMS Type
Joomla!
CMS Version
3.10.11
Backup Tool Version
Current one
Kickstart version
n/a

Latest post by nicholas on Tuesday, 18 April 2023 12:55 CDT

meijerink
Error — Undefined constant "MCRYPT_RIJNDAEL_128"

/www/htdocs/w00599be/mekodata/jm/libraries/fof/encrypt/aes.php::L60


 

#0 /www/htdocs/w00599be/mekodata/jm/installation/platform/models/joomlasetup.php(636): FOFEncryptAes->__construct('QkwYN10LXa1pjtw...', 256, 'cbc', NULL, 'mcrypt')
#1 /www/htdocs/w00599be/mekodata/jm/installation/platform/models/joomlasetup.php(501): AngieModelJoomlaSetup->decryptTFAString('QkwYN10LXa1pjtw...', 'iidtaAbDmJ8QaPD...')
#2 /www/htdocs/w00599be/mekodata/jm/installation/platform/models/joomlasetup.php(398): AngieModelJoomlaSetup->updateTFA('QkwYN10LXa1pjtw...', 'xtB2MPKBfnGRVeN...')
#3 /www/htdocs/w00599be/mekodata/jm/installation/platform/models/joomlasetup.php(74): AngieModelJoomlaSetup->updateEncryptedData('QkwYN10LXa1pjtw...', 'xtB2MPKBfnGRVeN...')
#4 /www/htdocs/w00599be/mekodata/jm/installation/angie/controllers/base/setup.php(23): AngieModelJoomlaSetup->applySettings()
#5 /www/htdocs/w00599be/mekodata/jm/installation/framework/controller/controller.php(510): AngieControllerBaseSetup->apply()
#6 /www/htdocs/w00599be/mekodata/jm/installation/framework/dispatcher/dispatcher.php(263): AController->execute('apply')
#7 /www/htdocs/w00599be/mekodata/jm/installation/framework/application/application.php(176): ADispatcher->dispatch()
#8 /www/htdocs/w00599be/mekodata/jm/installation/index.php(115): AApplication->dispatch()
#9 /www/htdocs/w00599be/mekodata/jm/installation/index.php(230): mainLoop()
#10 {main}

nicholas
Akeeba Staff
Manager

This comes from an ancient version of the FOF framework we discontinued in 2016 and which is included in Joomla 3 until this day.

You need to ask your host to enable the PHP OpenSSL extension for the PHP version you are using during the restoration.

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!

meijerink

Thanks for your answer, but your answer doesn't really help. I switched from Joomla 3 to Joomla 4 and also from PHP-Version 7.4 to 8.0. Before the update I made an Update with your free software. After the update fails I wanted to restore the old version but it turned out to be only possible with the professional version. That's why I bought a subscription. Now I am 50 bucks poorer and still have issues.

Does it help if I change the PHP Version back to 7.4? The client side of the website is running but not the backend which means there is no possibility for me to do the restore from there again. Any suggestions?

Regards Juergen

nicholas
Akeeba Staff
Manager

You do not need the Professional version to restore backups. This is clearly communicated at the top of the Manage Backups page, the documentation, and the video tutorials. Regardless, you do need some support which is only available if you pay a subscription so no, you didn’t waste your money. Okay?

You cannot restore a Joomla 3 backup directly on top of Joomla 4 site as explained in https://www.akeeba.com/documentation/akeeba-backup-joomla/restoring-backups.html#general-guidelines

Do not try to overwrite one Joomla! version family with a different one. Overwriting a major version with another (e.g. restoring a backup taken on Joomla! 3.7 on top of a site running Joomla! 2.5 or vice versa) or between different minor versions (e.g. restoring a backup taken on Joomla! 3.7 on top of a site running Joomla! 3.6 or vice versa) will NOT work. Joomla! moves files around between minor and major versions. Since the backup does not delete files not present in the backup archive this will end up with Joomla! being "confused" and malfunctioning. In these cases you should delete the existing files and folders (except, perhaps, user generated content) before restoring the backup. You can safely restore a sub-minor (path-level) version on top of another. For example, you can safely restore a Joomla! 3.7.5 site on top of a Joomla! 3.7.3 site or vice versa.

Your process should be:

  • Download all backup archives to your computer
  • Download and extract Akeeba Kickstart Core to your computer
  • Delete all files and folders on your site
  • Upload kickstart.php and the backup archive file(s) you want to restore to your site
  • Access the /kickstart.php URL on your site to proceed with the restoration

You can understand the last two items better by watching https://www.akeeba.com/videos/1212-akeeba-backup/1618-abtc04-restore-site-new-server.html

Regarding the PHP version, no, you don’t NEED to downgrade PHP. You just need to make sure that the PHP OpenSSL extension is enabled for the PHP version you are using. If you don’t understand what this means, copy this paragraph to a support request to your hosting company. They will tell you what you need to do.

For example, my host has a page called PHP Configuration. I can go there to select which PHP extensions I want enabled. At the bare minimum, Joomla needs json, mysqlnd, openssl, mbstring, zlib, zip, xml, and curl for Joomla itself and its extensions to work right. Again, if you have no idea what that means ask your host; you’re paying them so they can help with that. I can’t help with hosting configuration because there is no standardized interface across hosts and I couldn’t possibly know how your hosts implements PHP configuration. There are even some hosts who provide no interface, you need to ask them to enable extensions and they modify the PHP configuration file directly, something neither you nor I can do directly.

Does that make more sense to you now?

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!

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!