在PHP安装上启用Mcrypt

在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

我使用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.dll”-找不到指定的模块。\r\n在第0行的“未知”中


我读了一些关于这方面的内容,但我在windows32/文件夹中没有存储任何php dll,所以我感到困惑。

您需要先安装它,或者可能将库的路径添加到您的windows PATH环境变量中,因为您正在使用windows。尝试:

(在这里,您可以阅读“如果希望在Windows上安装mcrypt,还应将libmcrypt.dll放置在系统路径中。”)


如何设置或编辑环境变量:

我通过一系列教程找到了它:

  • 已将libmcrypt.dll添加到System32文件夹
  • 取消了php.ini中include_path变量的注释,并将该路径添加到ext
  • 重新启动Apache

  • 谢天谢地,不需要重新启动系统。无论上述一项或两项是必要的,现在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中,但如果需要重新启动,则必须安排停机时间。