How do I install cURL on Windows?

PhpWindowsCurlWindows XpInstallation

Php Problem Overview


I have followed all the instructions here: http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/

to install & config apache get the PHP5 packages and get the CURL packages.

I run the apache and run a PHP script. no problem. but when I run the php script with curl, it fails.

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

In which line 5 is a called to curl_init()

I output the php -i to see whether the right path to extension is called. It is correctly set:

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

I even tried to run curl_version() but still, same kind of error comes up.
It looks like the PHP can't find the CURL extension, but the php.ini (and also php -i) shows that it is set.

any idea? :)

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

I didn't get this:

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

The reason I need to use CURL is that it is the requirement from my project. So, I can only stick with that. XAMPP... how does it work in Windows? Is there any site that you can recommend? Thanks.

I have tried a lot of things on installing cURL and check everything, but still, I'm stilling circling around the problem and have no idea what's going on.

The Apache server uses the right PHP.ini. and the PHP.ini has the correct extension_dir and extension=php_curl.dll I have no idea why it doesn't work. even I follow every step for setting it up. :(

Php Solutions


Solution 1 - Php

Use the following steps to install curl:

  1. Open https://curl.haxx.se/dlwiz?type=bin in a browser.

  2. Select your operating system in the dropdown box: either Windows /Win32 or Win 64. Click Select!

  3. For Win 32, choose whether you will use curl in a Windows Command Prompt (Generic) or in a Cygwin terminal (cygwin). For Win 64, choose whether you will use curl in a Windows Command Prompt (Generic) or MinGW (MinGW64). Click Select!

  4. If required, choose your Windows operating system. Finish.

  5. Click Download for the version which has SSL enabled or disabled

  6. Open the downloaded zip file. Extract the files to an easy-to-find place, such as C:\Program Files.

Testing curl

  1. Open up the Windows Command Prompt terminal. (From the Start menu, click Run, then type cmd.)

  2. Set the path to include the directory where you put curl.exe. For example, if you put it in C:\Program Files\curl, then you would type the following command: set path=%path%;"c:\Program Files\curl"

NOTE: You can also directly copy the curl.exe file any existing path in your path

  1. Type curl. You should see the following message: curl: try 'curl –help' or 'curl –message' for more information This means that curl is installed and the path is correct.

Solution 2 - Php

You're probably mistaking what PHP.ini you need to edit. first, add a PHPinfo(); to a info.php, and run it from your browser.

Write down the PHP ini directory path you see in the variables list now! You will probably notice that it's different from your PHP-CLI ini file.

Enable the extension

You're done :-)

Solution 3 - Php

I'm using XAMPP, in which there are several php.ini files.

You can find the line in the php.ini files: ;extension=php_curl.dll

Please remove ; at the beginning of this line. And you may need to restart apache server.

Solution 4 - Php

I had also problems with this. After all these steps made correctly and some fixed misunderstandings (there is no extensions_dir but extension_dir, and there is no sessions.save_path but session.save_path) nothing works.

Finally I found this note at php.net:

Note: Note to Win32 Users: In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH. You don't need libcurl.dll from the cURL site.

So I copied ssleay32.dll, libeay32.dll & php_curl.dll From /PHP to Windows/system32 and replaced already existing files (I noticed there were older versions of ssleay32.dll and libeay32.dll). After that I found CURL section in php_info(); and finally everything works.

Good luck!

Solution 5 - Php

Another answer for other people who have had this problem

when you un comment the extension line, change it to:

extension=C:/php/ext/php_curl.dll

or the location of the extension folder, for me it did not work until i did this

Solution 6 - Php

I recently installed Curl on PHP5 for Windows Vista. I did not enable the CURL library when I initially installed PHP5, so nothing about Curl was showing up in phpinfo() or php.ini.

I installed CURL by re-running the PHP5 installer (php-5.2.8-win32-installer.msi for me) and choosing "Change". Then, I added the CURL component. Restart Apache, and CURL should work. CURL will show up in phpinfo(). Also, here is a sample script you can run to verify it works. It displays an RSS feed from Google:

    <?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);
    ?>

Solution 7 - Php

Note: Note to Win32 Users In order to enable this module (cURL) on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH. You don't need libcurl.dll from the cURL site.

This note solved my problem. Thought of sharing. libeay32.dll & ssleay.dll you will find in your php installation folder.

Solution 8 - Php

I agree with Erroid, you must add PHP directory into PATH environment.

PATH=%PATH%;<Your_PHP_Path>

Example

PATH=%PATH%;C:\php

It worked for me. Thank you.

Solution 9 - Php

You may find XAMPP at http://www.apachefriends.org/en/xampp.html

http://www.apachefriends.org/en/xampp-windows.html explains XMAPP for Windows.

Yes, there are 3 php.ini files after installation, one is for php4, one is for php5, and one is for apache. Please modify them accordingly.

Solution 10 - Php

I solved the problem.

In my apache, I have to specify:

PHPIniDir "C://php" AddType application/x-httpd-php .php

and for php.ini, instead of using the php.ini_recommend, use php.ini_dist to configure my php.ini.

then make sure the php engine has turned on. then it works now. Thanks all.

Solution 11 - Php

You can use binary file of curl .download file from here : <http://www.paehl.com/open_source/?CURL_7.22.0> Download the file and after extract put in to any drive and set the absolute path into environment now you can also use curl as a command in windows. like c:\curl -u [email protected]:password http://localhost:3000/user/sign_in

Solution 12 - Php

You can also use CygWin and install the cURL package. It works very well and flawlessly!!

Solution 13 - Php

I have tried everything - but nothing helped. After searching for several hours I found this information:

> Apache 2.4.18 for some reason does not load php 7.2 curl. I updated my > Apache to 2.4.29 and curl loaded instantly

http://forum.wampserver.com/read.php?2,149346,149348

What should I say: I updated Apache and curl was running like charm

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionmurvinlaiView Question on Stackoverflow
Solution 1 - PhpcuriousBoyView Answer on Stackoverflow
Solution 2 - PhpSchizoDuckieView Answer on Stackoverflow
Solution 3 - PhpboxoftView Answer on Stackoverflow
Solution 4 - PhpMarcin MajchrzakView Answer on Stackoverflow
Solution 5 - PhpNuaduView Answer on Stackoverflow
Solution 6 - PhpTrentCoderView Answer on Stackoverflow
Solution 7 - PhpRakeshView Answer on Stackoverflow
Solution 8 - PhpRizonBarnsView Answer on Stackoverflow
Solution 9 - PhpboxoftView Answer on Stackoverflow
Solution 10 - PhpmurvinlaiView Answer on Stackoverflow
Solution 11 - PhpNeeleshView Answer on Stackoverflow
Solution 12 - PhpManny IrizarryView Answer on Stackoverflow
Solution 13 - PhpGerfriedView Answer on Stackoverflow