在PHP安装上启用Mcrypt
我使用Apache2.2.16将PHP5.2.14安装在一个Windows设备上(通过.msi安装)。安装时附带ext/php_mcrypt.dll和libmcrypt.dll,但当我在php.ini中取消对extension=php_mcrypt.dll的注释并重新启动Apache时,它不会启用。phpinfo()对此没有显示任何内容。我错过了什么 更新: 我查看了我的错误日志,它向我吐露了这一点:在PHP安装上启用Mcrypt,php,apache,mcrypt,Php,Apache,Mcrypt,我使用Apache2.2.16将PHP5.2.14安装在一个Windows设备上(通过.msi安装)。安装时附带ext/php_mcrypt.dll和libmcrypt.dll,但当我在php.ini中取消对extension=php_mcrypt.dll的注释并重新启动Apache时,它不会启用。phpinfo()对此没有显示任何内容。我错过了什么 更新: 我查看了我的错误日志,它向我吐露了这一点: PHP警告:PHP启动:无法加载动态库“C:\PHP5\ext\PHP\u mcrypt.dl
PHP警告:PHP启动:无法加载动态库“C:\PHP5\ext\PHP\u mcrypt.dll”-找不到指定的模块。\r\n在第0行的“未知”中
我读了一些关于这方面的内容,但我在windows32/文件夹中没有存储任何php dll,所以我感到困惑。您需要先安装它,或者可能将库的路径添加到您的windows PATH环境变量中,因为您正在使用windows。尝试: (在这里,您可以阅读“如果希望在Windows上安装mcrypt,还应将libmcrypt.dll放置在系统路径中。”)
如何设置或编辑环境变量:我通过一系列教程找到了它:
谢天谢地,不需要重新启动系统。无论上述一项或两项是必要的,现在mcrypt正在发挥作用都无关紧要。谢谢大家。其他答案包含有关检查
\ext\php\u mcrypt.dll
是否存在以及在php.ini
中启用扩展的必要步骤。除此之外,您需要将{Your PHP Root}\libmcrypt.dll
复制到{Your Apache Root}\bin
,然后重新启动Apache,问题就应该解决了。您确定编辑了正确的PHP.ini
文件吗?检查您的phpInfo()以查看是否加载了wich ini文件。我还推荐使用最新php和mysql=)的统一服务器。您可以轻松地在生产和开发ini文件之间进行更改。如果安装不在生产设备上,并且可以承受停机时间,我只需安装最新版本。Krister,系统显示C:\php\php.ini,哪个是我编辑的文件。php_mcrypt.dll位于C:\PHP5\ext
?在Windows上,该路径也可能区分大小写。如果该路径不正确,请尝试在php.ini中更改extension\u dir
,或者尝试extension=C:/path/to/php/ext/php\u mcrypt.dll
我将该路径添加到Windows中,但如果需要重新启动,则必须安排停机时间。