Windows 上的 PHP / cURL 安装:“指定的模块无法找到。”
题
我在带有 IIS 5 的 Windows 2000 Server 上运行 PHP 5.2.3。我正在努力使卷发工作,所以在我的 php.ini 文件,我有这一行:
扩展目录=“F:\PHP\ext”
后来,我有:
扩展名=php_curl.dll
文件 F:\PHP\ext\php_curl.dll 存在,但是当我尝试运行任何PHP脚本时,我会在错误日志中获得此信息:
PHP 警告:PHP 启动:无法加载动态库'f: php ext php_curl.dll' - 找不到指定的模块。在第 0 行未知
解决方案
问题解决了!
虽然错误消息说 指定的模块无法找到, ,这有点误导——并不是说找不到 php_curl.dll
, ,而是找不到一个模块 php_curl.dll
必需的。它需要的 2 个 DLL 是 libeay32.dll
和 SSLeay32.dll
.
因此,您必须将这 2 个 DLL 放在 PATH 中的某个位置(例如, C:\Windows\system32
)。这里的所有都是它的。
然而,即便如此,最初对我来说也不起作用。因此,我下载了最新版本 PHP 的 Windows zip,其中包含所有必需的 DLL。我没有重新安装 PHP,我只是将“ext”文件夹中的所有 DLL 复制到我的 PHP 扩展文件夹(如 extension_dir
变量在 php.ini
),我复制了以下版本 libeay32.dll
和 SSLeay32.dll
从 PHP 下载到我的 System32 目录中。
我也做了iisreset,但我不知道这是否有必要。
其他提示
libeay32.dll
和 ssleay32.dll
必须是路径可访问的 php_curl.dll
才能正常工作。
在 控制面板 -> 搜索 -> 高级系统设置 并使用按钮 环境变量.
在下面 系统变量 寻找 小路 添加 c:/php
文件夹(或任何路径)并重新启动 Apache。
一个技巧是使用 WAMP-安装程序. 。一切正常。但它不是 IIS - 所以如果它很重要 - 你应该忽略我的建议。;)
编辑:我看到你找到了解决方案,所以我投票了。+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 的版本,但似乎我下载了错误的版本。对我有用的版本是在第二个文件 php_curl-5.3.13-VC9-x64 的固定卷曲扩展部分中
希望这会帮助其他人
当我将 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)