首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >致命错误:调用未定义的函数mcrypt_encrypt()

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

Stack Overflow用户
提问于 2010-04-09 08:49:39
回答 19查看 220.3K关注 0票数 68

注意: MCrypt支持所依赖的库已经多年没有更新了,MCrypt不再被认为是一种可行的或安全的数据加密方法。更重要的是,MCrypt在PHP5中已经被弃用,并且在PHP7中被完全删除。如果你有任何运行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)));
EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2010-04-09 09:02:31

在PHP5.2.8版本中,对我起作用的是打开php.ini并通过删除;来允许php_mcrypt.dll扩展,即更改:

;extension=php_mcrypt.dllextension=php_mcrypt.dll

票数 36
EN

Stack Overflow用户

发布于 2014-05-29 14:14:56

如果你最近更新到了ubuntu 14.04,这里是这个问题的修复:

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

Stack Overflow用户

发布于 2014-01-09 13:54:02

对于windows

;extension=php_mcrypt.dll to extension=php_mcrypt.dll 
 then restart your apache server

对于Redhat

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

对于Ubuntu

sudo apt-get install php5-mcrypt
sudo service apache2 restart //if server not reloaded automatically 

还是不能工作吗?

sudo php5enmod mcrypt && sudo服务apache2重启

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2604435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档