'Call to undefined function openssl_decrypt
When I try to make a request with POST to a script that has this line:
$decrypted_data = openssl_decrypt($encrypted_data, 'AES-256-CBC', $key);
I get the following error:
Fatal error: Call to undefined function openssl_decrypt() in mypath/usuario_webservice.php on line 11
After some research the common reasons would be entering the wrong name for the function or the openssl extension not being installed on my web server. It turns out that it is installed as I checked with the support. So, what else should I be looking for?
Solution 1:[1]
I am posting this as it might be helpful to some.
- Check
extension=php_openssl.dll
is enabled in yourphp.ini
. - Check
extension_dir
is pointed correctly inphp.ini
.
If you have recently upgraded your php version and not your Apache then it might be a possibility that correct libeay32.dll
and ssleay32.dll
are not being read which is a requirement for openssl or some version mismatch is happening.
- Get latest version of
libeay32.dll
andssleay32.dll
or copy it from your php directory sayC:\php
and overwrite the files in your Apache\bin sayC:\Apache24\bin
directory.
Hope this will help.
Solution 2:[2]
Enable this extension in your php.ini file by removing semicolon
extension=php_openssl.dll
Restart your Apache server and retry
Hope that helps :)
Solution 3:[3]
i had this problem so i just used Crypt_AES by phpseclib:
<?php
include('Crypt/AES.php');
$cipher = new Crypt_AES(); // it's cbc by default
$cipher->setKeyLength(256);
$cipher->setKey('abcdefghijklmnopijklmnopqrstuvwxyz3456');
$size = 10 * 1024;
$plaintext = str_repeat('a', $size);
echo $cipher->decrypt($cipher->encrypt($plaintext));
?>
Solution 4:[4]
What solved it for me is upgrading Apache from 2.4.27 to 2.4.53.
I am using Wampserver 3.2.8 on Win64. php_openssl was on in all ini files.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Halayem Anis |
Solution 3 | mollywallyamma |
Solution 4 | Meddie |