How do I install cURL on Windows?

228,389

Solution 1

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 2

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 3

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

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

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

Share:
228,389
murvinlai
Author by

murvinlai

Updated on July 08, 2022

Comments

  • murvinlai
    murvinlai almost 2 years

    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. :(