在Windows上启用PHP5.6.4的CURL

5

我在我的一个项目中试图使用HybridAuth,但是我得到的错误消息是:

原始错误信息: Hybridauth Library需要CURL PHP扩展。

尽管我已经在我的php.ini文件中启用了cURL:

extension=php_curl.dll

这里是我的phpinfo()截图:

enter image description here

我还需要做什么来启用cURL扩展,相关的php_curl.dll也在ext目录中。

当我重新启动Apache服务器时,我得到的消息是:

C:\Apache24\bin>httpd -k restart AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::a02e:1c05:c6ad:9332. Set the 'ServerName' directive globally to suppress this message

enter image description here


清除您的浏览历史记录和缓存,然后重新加载服务器。您可以访问http://curl.haxx.se/libcurl/php/install.html和http://php.net/manual/en/install.windows.extensions.php进行安装。 - Gaurav Dave
当您重新启动时,是否会出现任何错误/警告(例如:apache已在运行),否则您可以安装xampp,这将使您的生活更轻松。 - Gaurav Dave
@GauravDave 谢谢你加了服务器名称,警告消失了,但是原始问题仍然存在 :( - John x
那么它还没有添加。您确定已经取消注释(删除 php_curl.dll 行前面的分号 ;)并且在 x64 机器上吗?:您是否看到这个问题:https://dev59.com/5l8f5IYBdhLWcg3wFvWn - Abhinav Gauniyal
1
最终我不得不降低我的PHP版本,感谢大家的支持。 - John x
显示剩余13条评论
5个回答

10

您需要将PHP安装路径添加到Windows环境路径中。例如,如果您在 C:\PHP 上安装了PHP,则将C:\PHPC:\PHP\ext 都添加到Windows路径中。不知何故,Apache无法找到curl依赖的libeay32.dll、ssleay32.dll和libssh2.dll。


1

试试这个:

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 - John x

1
从你从php.net下载的zip文件中获取原始的php_curl.dll文件。
将libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll复制到Windows\system32文件夹中。
这对我有效,我使用的是Windows 8.1上的php 5.6.6 x64 ts和apache 2.4.10。

1
所以事实证明,我需要一个固定版本的curl,但我在PHP_5.6.4中找不到它,因此我降级到PHP Version 5.4.3,然后从这里下载了修复的curl扩展(不知道是什么),用我下载的那个替换了原来的php_curl.dll,然后它就起作用了。
以下SO帖子帮助我解决了问题。

PHP cURL not working - WAMP on Windows 7 64 bit

P.S请随意编辑答案,因为我不知道为什么现在它可以工作,而之前不行……

没有人知道如何在php5.6中安装curl。 - Robert

0

您需要将PHP安装路径添加到Windows环境路径中。例如,如果您将PHP安装在C:\PHP上,则应将C:\PHPC:\PHP\ext都添加到Windows路径中。某些情况下,Apache无法找到curl依赖项libeay32.dllssleay32.dlllibssh2.dll


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接