无法加载mcrypt.dll动态库

时间:2010-06-29 21:43:50

标签: configuration module php

我正在尝试加载此模块:php_mcrypt.dll' php.ini文件中的所有内容都是正确的,请亲自看看:

extension_dir = "C:/PHP/5.2.13/ext"
extension=php_mcrypt.dll

该路径中存在该文件。其他模块也在那里,并成功加载。它只对这个特定模块有问题。

我有64位Windows XP,Apache 2.2,PHP 5.2.13 ......

但是我得到了这个警告(Apache的error.log): PHP警告:PHP启动:无法加载动态库'C:/PHP/5.2.13/ext \ php_mcrypt1.dll' - 无法找到指定的模块。\ r \ n在第0行的未知中

PHP本身运行正常。但是我们的一个应用程序需要这个模块,它给我带来了这个丑陋的错误。为什么它会在日志文件中显示两个反斜杠?

4 个答案:

答案 0 :(得分:1)

伙计们,我找到了解决办法!

感谢上帝这篇文章! http://blogs.iis.net/donraman/archive/2009/10/16/configuring-php-extension-on-windows-a-simple-way.aspx


我们的论坛报告了太多关于无法配置某个特定扩展程序的问题。问题很多:

* Configuring a non-compatible version of the extension
* Missing some dependent DLL
* Trying to use thread safe version of the extension DLL  for non thread safe PHP build and vice-versa

因此,我基本上使用PHP MSI安装程序将PHP安装在不同的目录中,可以在此处找到:http://windows.php.net/download/。我只安装了PHP,没有Apache Server,并选择了mcrypt扩展。安装完成后,我将dll文件复制到我真正的PHP目录中,重新启动Apache并且工作正常!

答案 1 :(得分:1)

我不确定是否有64位版本的libmcrypt.dll可供下载 问题无法根据libmcrypt.dll

的依赖性加载php_mcrypt.dll扩展
  1. 从以下链接下载libmcrypt.dll http://files.edin.dk/php/win32/mcrypt/
  2. 将其复制并粘贴到apache / bin /例如:(C:\ Program Files \ Apache \ bin)
  3. 取消注释extension = php_mcrypt.dll和extension = php_mcrypt_filter.dll
  4. 使用重新启动您的Apache Web服务器 (C:\ Program Files \ Apache \ bin \ ApacheMonitor.exe)
  5. 对于安装了apache web服务器的32位Windows计算机将正常工作 至少它在我的Windows 2003服务器上使用Apache / 2.2.8(Win32)PHP / 5.2.6

    很好用drupal6,wordpress,magento和很多使用php的cms:)

答案 2 :(得分:0)

  

'C:/PHP/5.2.13/ext \ php_mcrypt1.dll'

我会说php.ini(额外的1)上有一些拼写错误。也许您正在加载与预期不同的php.ini(请参阅php.ini的输出以确保)。

除此之外,请确保php_mcrypt.dll和PHP:

  • 链接到相同的VC运行时库(通常用于VC6的msvcrt.dll或用于VC9的msvcrt90.dll) - 例如使用这个<{li}的dependency walker
  • 是调试版本还是两者都是版本构建
  • 两者都启用了ZTS或ZTS已禁用
  • 对于依赖于其他库(DLL)的库,请确保它们可用(例如,在与扩展名相同的目录中)

如果上述前三个条件中的任何一个不满足,PHP应该给你意义错误,但我还是写了那些因为我不确定PHP 5.2。

答案 3 :(得分:0)

返回php.ini并更改

extension_dir =“ c:/ php / ext”

extension_dir =“ C:\ php \ ext \”

然后重新启动服务器,然后重试。