This error popped up while installing Akeeba Backup into a development website running on a local test server (WAMP)
Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.
Latest post by on Wednesday, 02 February 2022 20:17 CST
This error popped up while installing Akeeba Backup into a development website running on a local test server (WAMP)
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
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!
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.
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!
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.
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!
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!