29

我在带有 IIS 5 的 Windows 2000 Server 上运行 PHP 5.2.3。我试图让 cURL 工作,所以在我的php.ini文件中,我有这一行:

extension_dir ="F:\PHP\ext"

后来,我有:

扩展=php_curl.dll

文件F:\PHP\ext\php_curl.dll存在,但是当我尝试运行任何 PHP 脚本时,我在错误日志中得到这个:

PHP 警告:PHP 启动:无法加载动态库 'F:\PHP\ext \php_curl.dll' - 找不到指定的模块。在第 0 行的未知中

4

5 回答 5

34

问题解决了!

虽然错误信息说找不到指定的模块,但这有点误导——不是找不到php_curl.dll,而是找不到php_curl.dll需要的模块。它需要的 2 个 DLL 是libeay32.dllSSLeay32.dll.

因此,您必须将这 2 个 DLL 放在 PATH 中的某个位置(例如,C:\Windows\system32)。这里的所有都是它的。

然而,即使这样最初对我也不起作用。所以我下载了最新版本的 PHP 的 Windows zip,其中包括所有必要的 DLL。我没有重新安装 PHP,我只是将“ext”文件夹中的所有 DLL 复制到我的 PHP 扩展文件夹(在 中的extension_dir变量中指定),然后将 PHP 下载的版本和php.ini版本复制到我的 System32 目录中。libeay32.dllSSLeay32.dll

我也做了一个iisreset,但我不知道这是否有必要。

于 2008-08-15T15:18:53.063 回答
15

libeay32.dll并且ssleay32.dll必须是路径可访问的php_curl.dll才能正常工作。

Control Panel -> Search -> Advanced System Settings并使用按钮Environment Variables

系统变量下找到路径添加c:/php文件夹(或任何路径)并重新启动 Apache。

于 2015-02-18T18:53:25.173 回答
5

提示是使用WAMP-installer。一切正常。虽然它不是 IIS - 所以如果它很重要 - 你应该忽略我的建议。;)

编辑:我看到你找到了解决方案,所以我投了赞成票。+1

于 2008-08-15T15:18:58.667 回答
1

我一直有同样的问题,虽然我做了上面的建议,我得到了互联网上的许多其他建议

抱歉,这个插件需要在你的服务器上激活 libcurl。

当我尝试激活我的插件时。

编辑:我使用 php 5.3.13 有 win64 windows 7 并且没有一个解决方案对我有用。

1.我试图复制 windows\system32 文件夹中的 libeay32.dll SSLeay32.dll 不起作用 2. 编辑和取消注释两个 php.ini 文件都不起作用 3. php 扩展中激活的 php_curl 不起作用 4. 复制并替换几次 www.anindya.com 的php_curl.dll版本,但似乎我下载了错误的版本。对我有用的版本在 Fixed curl extensions 部分的第二个文件 php_curl-5.3.13-VC9-x64

希望这对其他人有帮助

于 2013-06-08T07:02:34.347 回答
1

当我将 UwAmp 中的 php 升级到 7.2.* 时遇到了这个问题。唯一对我有用的解决方案是下载当时最新版本的 apache (Apache/2.4.37 (Win32)) 并替换 UwAmp 附带的那个。这还涉及编辑示例 httpd.conf 以生成 httpd_uwamp.conf 文件。UwAmp 需要此模板,然后在启动时生成实际的 httpd.conf。不幸的是,上述所有其他建议都没有为我解决。另请注意,从 OpenSSL 1.1 开始,不再需要 libeay32.dll 和 ssleay32.dll(请参阅http://php.net/manual/en/curl.installation.php

于 2019-01-18T22:42:53.753 回答