Mcrypt PHP - 模块初始化失败

时间:2012-10-12 14:47:38

标签: php wamp wampserver php-extension mcrypt

如何在PHP上安装mcrypt模块?

我需要在WAMPServer上安装mcrypt扩展,以便我可以对密码使用IDEA加密。我不能使用任何其他类型的加密,因为我正在与之交互的大型数据库已经在密码上使用IDEA加密。

我已经做了很多关于在PHP上安装mcrypt扩展的研究。我看到有两个主要步骤:

     
  1. 安装扩展程序
  2.  
  3. 请参阅php.ini文件中算法和模式所在的目录
  4. 步骤1我已成功完成,因为它不再发出致命错误:“调用未定义的函数mcrypt_encrypt ...”

    第2步是我遇到问题的地方,因为现在当我调用mcrypt_encrypt函数时,php会返回警告:“警告:mcrypt_encrypt():模块初始化失败......”

    我将所有算法和模式(libmcrypt)的目录放在php扩展文件夹中,然后在php.ini中我写了这两行:

    mcrypt.algorithms_dir = "c:/wamp/bin/php/php5.4.3/ext/libmcrypt/modules/algorithms"

    mcrypt.modes_dir = "c:/wamp/bin/php/php5.4.3/ext/libmcrypt/modules/modes"

    我然后重新WAMPServer,它给了警告:“PHP启动:无法加载动态库‘C:/wamp/bin/php/php5.4.3/ext/php_mcrypt.dll’ - 指定的模块找不到。“

    我一直在网上搜索有关如何安装mcrypt扩展程序的教程,我找不到任何东西!所以我来到了古老的StackOverflow,希望有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

建议1:

Apache / libmcrypt.dll无法使用

php_mcrypt.dll。猜猜我们应该先检查phpinfo() mcrypt可用

建议2:

print_r(mcrypt_list_algorithms());应显示IDEA算法...因为它不是免费算法(尽管patent expired in May/2011),但可能不会包含它。 IDEA算法未列为可用

建议3:

你不会喜欢这个,但我正在阅读的所有内容都表明你必须build PHP yourself(ID {3}},然后php使用MCRYPT)有点痛苦(没有像Linux一样内置的所有默认编译器)。作为替代方案,您可以浏览一下Windows PHP二进制版本包含 MCRYPT / IDEA ..看起来有些包含它(旧版本,first mcrypt,VC9版本) 。 很遗憾人们在安装指南/讨论中有想法,所以找到关于是否包含IDEA算法的文档很棘手;)