如何在PHP上安装mcrypt模块
我需要在WAMPServer上安装mcrypt扩展,这样我就可以对密码使用IDEA加密。我不能使用任何其他类型的加密,因为我正在与之交互的大型数据库已经对密码使用了IDEA加密。
我已经做了很多关于在PHP上安装mcrypt扩展的研究。我看到有两个主要步骤:
- 安装扩展
- 请参阅php.ini文件中算法和模式所在的目录
步骤1我成功完成了,因为它不再给出致命错误:"调用未定义的函数mcrypt_encrypt…">
步骤2是我遇到问题的地方,因为现在当我调用mcrypt_encrypt函数php时会返回警告:"警告:mcrypt_encrypt():模块初始化失败…">
- 我从以下位置下载了mcrypt扩展:http://www.dlldll.com/php_mcrypt.dll_download.html
- 我从以下位置下载了mcrypt算法和模式:http://sourceforge.net/projects/mcrypt/files/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz/download
我把包含所有算法和模式的目录(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:
libmcrypt.dll
对Apache/php_mcrypt.dll
不可用。我想我们应该先检查phpinfo()
mcrypt可用
建议2:
print_r(mcrypt_list_algorithms());
应该显示IDEA算法。。。由于它不是一个免费的算法(尽管专利于2011年5月到期),它可能不包括在内IDEA算法未列为可用
建议3:
你不会喜欢这一点,但我所读到的内容表明,你必须自己构建PHP(首先是使用IDEA的mcrypt
,然后是使用MCRYPT的php
),这在Windows上会有点痛苦(没有像Linux那样内置所有默认编译器等)。作为替代方案,您可以四处寻找包含MCRYPT/IDEA。。看起来其中一些包括它(旧版本、64位版本、VC9版本)不幸的是人们在安装指南/讨论中对此有想法,因此很难找到是否包含IDEA
算法的文档;)