【发布时间】:2010-10-12 23:39:36
【问题描述】:
我有一个使用 mcrypt_decrypt() 函数的脚本,但出现以下错误
致命错误:调用未定义函数 mcrypt_decrypt()
我需要包含哪些模块/库才能使用此功能?还是我收到错误的其他原因?
谢谢
【问题讨论】:
我有一个使用 mcrypt_decrypt() 函数的脚本,但出现以下错误
致命错误:调用未定义函数 mcrypt_decrypt()
我需要包含哪些模块/库才能使用此功能?还是我收到错误的其他原因?
谢谢
【问题讨论】:
sudo apt-get install php5-mcrypt
在 ubuntu 上工作。
【讨论】:
请看:
您需要使用 --with-mcrypt[=DIR] 编译您的 PHP,并在您的机器上安装 libmcrypt 2.5.6 或更高版本。
【讨论】:
用 php5-fpm 配置 php5-mcrypt (Ubuntu 14.04)
我假设你已经安装并运行了 nginx 和 php-fpm。
php5-mcrypt 应该已经安装(它与 php5-fpm 捆绑在一起)。只为安全起见, apt-get install php5-mcrypt
创建指向可用模块的符号链接, ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
启用它。 php5enmod mcrypt
重启php-fpm, 服务 php5-fpm 重启
重启nginx, 服务 nginx 重启
完成!
【讨论】:
来自manual:
你需要编译 PHP --with-mcrypt[=DIR] 参数来启用这个扩展。 DIR 是 mcrypt 安装目录。确保 您使用选项编译 libmcrypt --disable-posix-threads。
一般来说,如果 PHP 说一个函数是未定义的,这意味着你需要在某个库中编译。
【讨论】:
我上面的不行,你可以试试这个:
在 /etc/php5/conf.d 中创建带有内容的 mcrypt.ini 文件
extension=mcrypt.so
【讨论】:
我通过http://php-osx.liip.ch/ 将 PHP 升级到 5.4 并且成功了。
【讨论】:
对于 php 5.3.X
取决于 yum mcrypt 包的可用性,你可以使用 yum 包
像这样: 百胜安装 php53-mcrypt 并重启httpd
【讨论】:
并注意 phpinfo 页面中的文件夹:“扫描此目录以获取其他 .ini 文件”和下一个:“已解析的其他 .ini 文件”。
【讨论】:
升级到 php 5.4 后运行(Works)
sudo php5enmod mcrypt
sudo service apache2 restart
【讨论】: