在 PHP 安装上启用 Mcrypt

Posted

技术标签:

【中文标题】在 PHP 安装上启用 Mcrypt【英文标题】:Enable Mcrypt on PHP Install 【发布时间】:2012-01-06 11:16:29 【问题描述】:

我使用 Apache 2.2.16 在 Windows 机器上安装了 php 5.2.14(通过 .msi 安装)。安装附带了 ext/php_mcrypt.dll 和 libmcrypt.dll 但是当我在 php.ini 中取消注释 extension=php_mcrypt.dll 并重新启动 Apache 时,它​​没有启用。 phpinfo() 没有显示任何内容。我错过了什么?

更新:

我查看了我的错误日志,它告诉我:PHP 警告:PHP 启动:无法加载动态库 'C:\PHP5\ext\php_mcrypt.dll' - 指定的模块找不到。\r\n 在第 0 行的未知中

我对此进行了一些阅读,但我没有任何 php dll 存储在 windows32/ 文件夹中,所以我很困惑。

【问题讨论】:

您确定您正在编辑正确的php.ini 文件吗?检查您的 phpInfo() 以查看加载了哪个 ini 文件.. 我还推荐使用最新 php 和 mysql 的统一服务器 =) 你可以在生产和开发 ini 文件之间轻松更改 如果安装不在生产机器上并且可以承受停机时间,我会安装最新版本。 Krister,系统显示C:\PHP\php.ini,这是我编辑的文件。 C:\PHP5\ext php_mcrypt.dll 所在的位置吗?该路径在 Windows 上也可能区分大小写。如果该路径不正确,请尝试更改 php.ini 中的 extension_dir 或尝试 extension=C:/path/to/php/ext/php_mcrypt.dll 【参考方案1】:

您需要先安装它,或者可能将库的路由添加到您的 windows PATH 环境变量,因为您正在使用 windows。试试看:http://www.php.net/manual/en/mcrypt.installation.php

(您可以在此处阅读“如果您希望在 Windows 上安装 mcrypt,您还应该将 libmcrypt.dll 放在系统的 PATH 中。”)

如何设置或编辑环境变量:http://www.support.tabs3.com/main/R10463.htm

【讨论】:

我添加到 Windows 的路径无济于事,但如果需要重新启动,那么我必须安排停机时间。【参考方案2】:

我是通过结合教程弄明白的:

    将 libmcrypt.dll 添加到 System32 文件夹 取消注释 php.ini 中的 include_path var 并将路径添加到 ext 重新启动 Apache

谢天谢地,不需要重新启动系统。无论上述一项还是两项都是必要的,现在 mcrypt 正在运行并不重要。谢谢大家。

【讨论】:

【参考方案3】:

其他答案有关于检查\ext\php_mcrypt.dll 存在并启用php.ini 中的扩展的必要步骤。除此之外,还需要将Your-PHP-Root\libmcrypt.dll复制到Your-Apache-Root\bin,然后重启apache,问题就解决了。

【讨论】:

以上是关于在 PHP 安装上启用 Mcrypt的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OSX 10.9 上的 php 中启用 mcrypt?

php mcrypt 在 docker 容器上启用后无法正常工作

php5 Mcrypt 拒绝为 Ubuntu 安装

Homestead Laravel -- 需要 Mcrypt PHP 扩展

启用 mcrypt、soap 和 pdo_mysql

PhpMyAdmin 安装错误