在 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 容器上启用后无法正常工作