Support

Akeeba Backup for Joomla!

#36349 Undefined constant "Akeeba\Engine\Util\AesAdapter\OPENSSL_RAW_DATA"

Posted in ‘Akeeba Backup for Joomla!’
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
n/a
PHP version
n/a
Akeeba Backup version
n/a

neo314

This error popped up while installing Akeeba Backup into a development website running on a local test server (WAMP)

neo314

I just found that the error does not occur with 8.0.14 and 7.4.27. Whether or not the software will work and is just not showing the error, I do not know. I am surprised a constant can be undefined in 8.1.1 but defined in 8.0.14

tampe125
Akeeba Staff

Hello,

most likely you do not have the OpenSSL module enabled in your php 8.1 configuration, this is why with previous version it is working. You can install it or you can simply switch to a previous version of PHP like you did.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

neo314

Good guess, but OpenSSL is installed and active in version 8.1.1. and appears to be working.

It is not a big deal to me for development as long as it works with 8.1.1 on a production machine.

nicholas
Akeeba Staff
Manager

The message literally says that one of the constants defined by the PHP OpenSSL extension (OPENSSL_RAW_DATA) is undefined. This always means that the OpenSSL extension is not enabled. There are no two ways about it.

Do note that just seeing “openssl” somewhere in the phpinfo() page is not enough. Yes, PHP may be compiled against OpenSSL but the actual OpenSSL extension may not be enabled by default. Yes, you may have cURL compiled with OpenSSL but this again does not mean that you have the PHP OpenSSL extension installed and enabled. We need the actual OpenSSL PHP extension for managing encrypted data.

What you need to see is a section in the phpinfo() page with the header “openssl” (all lowercase) just like you see for other core PHP extensions like “pcre”, “mysqli” and “mysqlnd”. Moreover, the table under that header should have a line with left hand table cell reading ‘OpenSSL Support’ and the right hand cell reading ‘enabled’.

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!

neo314

That was interesting. SSL appeared to be working but was missing from PHP Info. The extension was installed. It appears it was necessary to update apache for SSL to work properly with 8.1.1. I went from Apache 2.4.35 => 2.4.52 and everything works fine now.

nicholas
Akeeba Staff
Manager

I can tell you the most likely cause for that :) The OpenSSL extension for PHP is compiled against the OpenSSL library. A specific OpenSSL library. Having used WAMP in the past, they are very likely to only bundle it as part of their Apache package. So, if you do not have the “right” Apache version installed on your computer it won't find the OpenSSL library and the extension won't load.

Last time I used WAMP it was in 2016. I would have though that nearly 7 years later they'd have fixed that packaging issue. Well, I guess not?

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!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: Typically we work Monday to Friday, 9am to 7pm Cyprus timezone (EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets, but we cannot respond to them, outside of our working hours.

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!

Summer vacations: Our support will be closed for replies and new tickets from August 6th to August 21st, 2022 due to summer vacations.