为什么 PHP 拒绝在 Windows 上启用 cURL

Why does PHP refuse to enable cURL on Windows

我在 Windows 7 x64 上使用 PHP 5.5.25Apache 2.4,但我无法激活 cURL 模块。我环顾四周,尝试了所有我能想到的。请协助:

还有什么可以解释为什么未启用 cURL 模块?

我认为您的 PATH 中也需要 libssh2.dll

在 windows 上,cURL 执行需要 SSL 证书。可能是因为显示其他错误。

将以下代码放在 curl_exec(curlHandle) 之前以忽略对 SSL 证书的检查

//to ignore the SSL certificate in windows
        curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER,false);

感谢@Steven Hilder 为我指明了正确的方向。

问题是 Windows 无法看到 libssh2.dll,PHP 目录中的另一个 DLL。将此文件复制到 C:\Windows\SysWOW64C:\Windows\System32,以及我的 OP 中的其他两个 DLL 文件(libeay32.dllssleay32.dll)工作正常。

虽然我对这个解决方案感到不舒服,因为当需要更新到新的 PHP 版本时,我将很难记住用新版本覆盖这些 DLL。 因此,我决定从 System32SysWOW64 目录中删除所有 3 个 DLL。相反,我只是将 PHP bin 目录添加到 Windows' PATH 变量,这样下次 OS 查找丢失的文件时,它也会在该目录中查找。这有额外的好处,如果另一个 DLL 出现类似的问题,它将自动解决。

将 PHP bin 添加到 Windows' PATH:

  1. Start Menu 搜索栏中搜索 select Advanced system settings
  2. 点击Environment Variables。向下滚动系统变量列表到 select Path 然后单击 Edit... 打开当前的 PATH 设置
  3. ;C:\php 或任何具有 php.exe 的目录附加到当前设置(分号用于分隔路径)。