在 Windows 上为 PHP5.6.4 启用 CURL
Posted
技术标签:
【中文标题】在 Windows 上为 PHP5.6.4 启用 CURL【英文标题】:Enable CURL on Windows For PHP5.6.4 【发布时间】:2015-03-02 18:58:37 【问题描述】:我试图在我的一个项目中使用HybridAuth,我得到的错误消息是
原始错误消息:Hybridauth Library 需要 CURL php 扩展。
即使我在php.ini
中启用了 cURL
extension=php_curl.dll
这是我phpinfo()
的截图
为了启用 cURL 扩展,我还需要做什么,相关的 php_curl.dll
也存在于 ext
目录中
我重新启动 apache 服务器时收到的消息
C:\Apache24\bin>httpd -k restart AH00558: httpd: 不能可靠 确定服务器的完全限定域名,使用 fe80::a02e:1c05:c6ad:9332。将“ServerName”指令全局设置为 禁止显示此消息
【问题讨论】:
您使用的是 MAMP 还是什么?因为它将 php.ini 文件缓存在其他地方而不是原始目录中。 重启服务器并检查 清除您的浏览历史和缓存并重新加载您的服务器。您可以访问curl.haxx.se/libcurl/php/install.html和php.net/manual/en/install.windows.extensions.php进行安装。 @AbhinavGauniyal 我已经分别安装了 apache、php 和 mysql 我终于降级了我的php版本,谢谢大家的支持.. 【参考方案1】:您必须将 PHP 安装路径添加到 Windows 环境路径。例如,如果您在 C:\PHP
上安装 PHP,请将 C:\PHP
和 C:\PHP\ext
添加到 Windows 路径。不知何故,Apache 找不到 curl 依赖项 libeay32.dll
、ssleay32.dll
和 libssh2.dll
。
【讨论】:
【参考方案2】:您必须将 PHP 安装路径添加到 windows 环境路径。例如,您在C:\PHP
上安装php,将C:\PHP
和C:\PHP\ext
添加到Windows 路径。 Apache 无法找到 curl 依赖项 libeay32.dll、ssleay32.dll 和 libssh2.dll 的一些原因
【讨论】:
【参考方案3】:取回原始的php_curl.dll
文件(从您从 php.net 下载的 zip 文件中)
将 libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll 复制到 Windows\system32 文件夹
这对我有用,我在 windows 8.1 中有 php 5.6.6 x64 ts 和 apache 2.4.10
【讨论】:
【参考方案4】:事实证明我需要一个固定版本的 curl 我找不到 PHP_5.6.4,所以我降级到 PHP Version 5.4.3
然后下载 Fixed curl extension(不知道它是什么)来自here 用我下载的那个替换了原来的php_curl.dll
,瞧,它工作了。
以下 SO 帖子帮助我解决了问题
PHP cURL not working - WAMP on Windows 7 64 bit
P.S 请随时编辑答案,因为我不知道它现在工作的确切原因以及为什么没有更早......
【讨论】:
没有人知道如何用php5.6安装curl【参考方案5】:试试这个:
if (in_array ('curl', get_loaded_extensions()))
echo "cURL is installed on this server";
else
echo "cURL is not installed on this server";
看看,是否可行。
【讨论】:
cURL is not installed on this server
以上是关于在 Windows 上为 PHP5.6.4 启用 CURL的主要内容,如果未能解决你的问题,请参考以下文章
如何在Windows上为Google云平台添加docker-registry secret(就是在PowerShell中,不是Bash)?
如何在 Textmate 上为 Sencha 启用代码完成/代码感知