5

我有一个使用 mcrypt_decrypt() 函数的脚本,但出现以下错误

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

我需要包含哪些模块/库才能使用此功能?还是我收到错误的另一个原因?

谢谢

4

9 回答 9

16

sudo apt-get install php5-mcrypt

在 ubuntu 上工作。

于 2010-02-03T17:22:42.137 回答
6

请参见:

您需要使用--with-mcrypt[=DIR]libmcrypt 版本 2.5.6 或更高版本编译 PHP 并在您的机器上安装。

于 2009-03-12T17:39:08.770 回答
5

使用 php5-fpm (Ubuntu 14.04) 配置 php5-mcrypt

我假设您已经安装并运行了 nginx 和 php-fpm。

php5-mcrypt 应该已经安装(它与 php5-fpm 捆绑在一起)。只是为了安全,apt-get install php5-mcrypt

创建指向 mods-available 的符号链接,ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini

启用它。php5enmod mcrypt

重启php-fpm,服务php5-fpm重启

重启nginx,服务nginx重启

完毕!

于 2015-05-27T10:02:11.270 回答
2

手册

您需要使用 --with-mcrypt[=DIR] 参数编译 PHP 以启用此扩展。DIR 是 mcrypt 安装目录。确保使用选项 --disable-posix-threads 编译 libmcrypt。

通常如果 PHP 说一个函数是未定义的,这意味着你需要在某个库中编译。

于 2009-03-12T17:38:15.170 回答
0

我上面的不起作用,你可以试试这个:

在 /etc/php5/conf.d 中创建带有内容的 mcrypt.ini 文件

extension=mcrypt.so
于 2011-08-22T10:16:44.070 回答
0

我通过http://php-osx.liip.ch/将 PHP 升级到 5.4 ,它工作正常。

于 2012-08-24T08:22:29.400 回答
0

对于 php 5.3.X

取决于 yum mcrypt 包的可用性,您可以使用 yum 包

像这样: yum install php53-mcrypt 并重新启动 httpd

于 2013-01-31T09:29:40.703 回答
0

并注意 phpinfo 页面中的文件夹:“扫描此目录以获取其他 .ini 文件”和下一个:“已解析的其他 .ini 文件”。

于 2014-03-22T21:33:13.587 回答
0

升级到 php 5.4 运行后(Works)

sudo php5enmod mcrypt
sudo service apache2 restart
于 2014-05-09T15:24:23.757 回答