致命错误:调用未定义的函数 mcrypt_encrypt()

2022-08-30 08:53:47

注意:MCrypt 支持的库已经很多年没有更新了,MCrypt 不应该再被认为是一种可行或安全的加密数据的方法。更重要的是,MCrypt在PHP 5中已被弃用,在PHP 7中完全删除。如果您有任何运行MCrypt的代码,则应重构它以使用更现代的加密库。


有谁知道为什么这个错误消息:当我运行下面的代码时显示?(Call to undefined function mcrypt_encrypt() )

我是否错过了一些步骤,也许在PHP中我必须执行的任何设置才能使此代码正常工作?

$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)));

答案 1

如果您最近更新到ubuntu 14.04,则可以解决此问题:

$ sudo mv /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
$ sudo php5enmod mcrypt
$ sudo service apache2 restart

答案 2

在 PHP 版本 5.2.8 中,对我有用的是打开并允许扩展,方法是删除 ,即更改:php.iniphp_mcrypt.dll;

;extension=php_mcrypt.dllextension=php_mcrypt.dll


推荐