Fatal error: Call to undefined function mcrypt_encrypt()
NOTE: The libraries MCrypt support depend on have not been updated in years and MCrypt should no longer be considered a viable or secure method of encrypting data. What's more, MCrypt has been deprecated in PHP 5, and removed entirely in PHP 7. If you have any code that runs MCrypt you should refactor it to use a more modern encryption library.
Does anyone know why this error message:
(Call to undefined function mcrypt_encrypt() ) displays when I run the following code below?
Am I missing some steps perhaps any setting in PHP I have to do before this code can work?
$key = 'password to (en/de)crypt'; $string = 'string to be encrypted'; $test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)));
Verified Answer (34 Votes) ✓
What had worked for me with PHP version 5.2.8, was to open up
php.ini and allow the
php_mcrypt.dll extension by removing the
;, i.e. changing:
Answer #2 (89 Votes)
If you have recently updated to ubuntu 14.04 here is the fix to this problem:
$ sudo mv /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/ $ sudo php5enmod mcrypt $ sudo service apache2 restart
Answer #3 (31 Votes)
;extension=php_mcrypt.dll to extension=php_mcrypt.dll then restart your apache server
sudo yum install php55-mcrypt //if php5.5 sudo yum install php-mcrypt //if less than 5.4 sudo service httpd restart //if apache 2.4 sudo /etc/init.d/httpd restart //if apache 2.2 or less
sudo apt-get install php5-mcrypt sudo service apache2 restart //if server not reloaded automatically
Still not working?
sudo php5enmod mcrypt && sudo service apache2 restart