如何在Windows上安装cURL?

问题描述:

我在这里照着所有的说明:http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/如何在Windows上安装cURL?

安装&配置阿帕奇 获得PHP5包 并获得卷曲包。

我运行Apache并运行PHP脚本。没问题。 但是当我用curl运行php脚本时,它失败了。

它返回:**Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

在其第5行是一个名为到curl_init()

I输出PHP的-i看向延伸右路径是否被调用。它设置正确:

extension_dir => C:\PHP\ext => C:\PHP\ext 
cURL support => enabled 
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3 

我甚至试图运行curl_version()但尽管如此,同一种错误的出现。
它看起来像PHP无法找到CURL扩展名,但php.ini(也是php -i)显示它已设置。

有什么想法吗? :)

P.S> System I m running on: 
Windows XP 
Apache 2.2 
PHP 5.2.6 
CURL Win32 Generic Binaries: Win32 2000/XP metalink 7.19.0 binary SSL enabled  Daniel Stenberg  249 KB 

我没有得到这样的:

Win32 2000/XP 7.19.0 libcurl  SSL enabled  Günter Knauf 1.55 MB 
Should I get this one instead? 

我之所以需要使用卷曲,这是从我的项目的要求。所以,我只能坚持这一点。 XAMPP ...它在Windows中如何工作?有什么网站可以推荐?谢谢。

我已经尝试了很多关于安装cURL和检查所有内容的事情,但仍然在围绕着问题盘旋,不知道发生了什么。

Apache服务器使用正确的PHP.ini。和PHP.ini有正确的extension_dir和扩展名= php_curl.dll我不知道为什么它不起作用。即使我按照每一步来设置它。 :(

+4

假设人还是在2012年这个问题(像我一样),我会发布一些更新。 Apache(当前版本2.2.21)现在发布了2个不同的版本,这使得卷曲更容易。你需要的apache版本是支持SSL的版本。安装它,然后像你习惯的那样安装php。在php.ini中,取消该行的注释; extension = php_curl.dll,如果你还没有,那么你就准备好了。无需下载其他任何东西。 – 2012-01-29 06:14:18

+0

读者可能会发现这适用于Windows x64。 http://*.com/questions/25044010/running-curl-on-64-bit-windows – MacGyver 2014-12-10 17:28:52

你可能错误地认为你需要编辑的是PHP.ini首先,将PHPinfo();添加到info.php中,然后从你的浏览器。

记下您在变量列表中看到的PHP ini目录路径! 您可能会注意到它与您的PHP-CLI ini文件不同。

启用扩展

你在http://www.apachefriends.org/en/xampp.html

http://www.apachefriends.org/en/xampp-windows.html :-)

+1

我有这个问题与XAMPP安装包。目录树结构至少可以说是令人困惑的。你提供的php文件夹很少是正确的。 phpinfo()是一个神话般的故障排除工具。 + 1为这个答案, - 1谁设计xampp的树结构(我猜这是在这种情况下的罪魁祸首)。 – 2009-07-20 08:22:51

+0

v需要在apache中配置任何东西 – Bharanikumar 2015-10-15 14:58:49

我使用的XAMPP,其中有几个的php.ini文件

你可以找到在php.ini文件中的一行: ;extension=php_curl.dll

请在开始删除;你可能需要重新启动apache服务器

+0

简单的修复,做工精细 – AjayR 2011-05-03 00:41:12

您可能会发现XAMPP完成的Windows解释XMAPP。

是的,安装后有三个php.ini文件,一个是php4,一个是php5,一个是apache。请相应修改它们。

我解决了这个问题。

在我的Apache,我必须注明:

的PHPIniDir “C:// PHP” 将AddType应用/ X的httpd - PHP .PHP

和php.ini文件,而不是使用php.ini_recommend,使用php.ini_dist来配置我的php.ini。

然后确保php引擎已打开。 然后它现在工作。谢谢大家。

我最近在Windows Vista的PHP5上安装了Curl。我做了而不是当我最初安装PHP5时启用CURL库,所以Curl在phpinfo()或php.ini中没有显示出来。

我通过重新运行PHP5安装程序(我的php-5.2.8-win32-installer.msi)并选择“更改”来安装CURL。然后,我添加了CURL组件。重新启动Apache,CURL应该可以工作。 CURL将显示在phpinfo()中。另外,下面是一个示例脚本,您可以运行它来验证它是否有效。这显示从谷歌RSS提要:

<?php 
    error_reporting(E_ALL); 
    ini_set('display_errors', '1'); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 
    'http://news.google.com/news?hl=en&topic=t&output=rss'); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $contents = curl_exec ($ch); 
    echo $contents; 
    curl_close ($ch); 
    ?> 

您可以使用卷曲。下载文件的二进制文件从这里: http://www.paehl.com/open_source/?CURL_7.22.0 下载文件和提取后放置在任何驱动器,现在设定的绝对路径进入环境你也可以在窗口中使用curl作为命令。像 c:\ curl -u [email protected]:密码http://localhost:3000/user/sign_in

我也有这个问题。在所有这些步骤正确地做出了一些固定的误解之后(没有extensions_dir但是extension_dir,并且没有sessions.save_path但是session.save_path)没有任何效果。

最后我发现这个便条在php.net:

注意:注意Win32的用户: 为了能够在Windows环境中,该模块的libeay32.dll和ssleay32.dll必须存在的路径。你不需要cURL站点的libcurl.dll。

所以我复制ssleay32.dll,的libeay32.dll & php_curl.dll从/ PHP到Windows/SYSTEM32和替换已存在的文件(我注意到有旧版本ssleay32.dll和的libeay32.dll的)。之后,我在php_info()中找到了CURL部分;最后一切正常。

祝你好运!

+0

这个笔记非常重要,它解决了我的问题。我相信它应该是被接受的答案。 – 2016-01-31 19:11:22

注意:Win32用户注意事项 为了在Windows环境下启用该模块(cURL),libeay32.dll和ssleay32。dll必须存在于你的PATH中。你不需要cURL站点的libcurl.dll。

这个笔记解决了我的问题。分享的想法。 libeay32.dll & ssleay.dll你会在你的php安装文件夹中找到。

使用以下步骤来安装卷曲:

  1. 打开https://curl.haxx.se/dlwiz?type=bin在浏览器中。

  2. 在下拉框中选择您的操作系统:Windows/Win32或Win 64.单击选择!

  3. 对于Win 32,选择是否在Windows命令提示符(通用)或Cygwin终端(cygwin)中使用curl。对于Win 64,选择是否在Windows命令提示符(通用)或MinGW(MinGW64)中使用curl。点击选择!

  4. 如果需要,请选择您的Windows操作系统。完。

  5. 点击下载对于具有启用或禁用SSL

  6. 打开下载的zip文件的版本。将文件解压缩到一个易于查找的位置,例如C:\ Program Files。

测试卷曲

  1. 打开Windows命令提示符终端。 (从开始菜单中,单击运行,然后键入cmd。)

  2. 设置路径以包含放置curl.exe的目录。例如,如果你把它放在C:\ Program Files文件\卷曲,然后您可以键入以下命令: 集路径=%路径%; “C:\ Program Files文件\卷曲”

注意:您还可以直接复制curl.exe文件路径中的任何现有路径

  1. 键入curl。 您应该看到以下消息: curl:尝试'curl -help'或'curl -message'以获取更多信息 这意味着将安装curl并且路径是正确的。

我同意Erroid,你必须把PHP目录加入PATH环境。

PATH=%PATH%;<Your_PHP_Path> 

PATH=%PATH%;C:\php 

它为我工作。谢谢。

别人另一个答案谁都有过这样的问题

当您取消注释的延长线,将其更改为:

延长= C:/php/ext/php_curl.dll

或扩展文件夹的位置,对我来说没有工作,直到我这样做

您还可以使用CygWin并安装卷曲包。它工作得非常好,完美无瑕!