159

How do I enable cURL in PHP?

​​

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Fero
  • 12,969
  • 46
  • 116
  • 157

18 Answers18

227

On Debian with Apache 2:

apt-get install php5-curl
/etc/init.d/apache2 restart

(php4-curl if it's php4)

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Phil
  • 3,628
  • 8
  • 34
  • 36
132

Since you're using XAMPP, uncomment the line

;extension=php_curl.dll

in xampp\apache\bin\php.ini, and then restart the Apache service.

NB: In newer XAMPP versions, PHP has moved to root xampp folder xampp\php\php.ini.

Francisco R
  • 4,032
  • 1
  • 22
  • 37
Jon Benedicto
  • 10,492
  • 3
  • 28
  • 30
21

Steps for Windows 7:

  1. Ensure that the php.ini file that the PHP engine uses is the one you think it is.
  2. Ensure extension_dir in php.ini is correctly set to the ext folder
  3. Ensure extension=php_curl.dll in the php.ini is uncommented

Finally and maybe the one most people don't know: 4. Ensure that there are these two files in the Windows System32 folder: libeay32.dll ssleay32.dll If not there, you may copy these two files from the php folder.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
WaiKit Kung
  • 1,296
  • 1
  • 14
  • 15
  • Actually, this wasn't the issue, since php isn't hosted in IIS, but in Apache(with wamp). It turns out that wamp came out with incompatible versions... had to add apache 2.2.9, and php 5.3.1, and use wami tray->Apache(or PHP)->Version->____ to switch to those versions, as described here: http://stackoverflow.com/q/10939248/79444 – veljkoz Aug 24 '12 at 17:33
  • In addition to the 4th requirement, for win7 64bit, those 2 files should go C:\windows\SysWOW64. – felix021 Jul 02 '13 at 09:29
  • @WaiKit Kung you are awesome..done the 4th step and worked for me. Thank you. – Dibish Dec 28 '15 at 04:20
  • I had to add the following to my PHP code to get things to work: `curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);` Maybe that's the issue. – HartleySan Oct 11 '16 at 14:51
  • `Ensure extension_dir in php.ini is correctly set to the ext folder` That did the job for me. – Luud van Keulen Feb 26 '17 at 19:40
11

I found the file located at:

C:\xampp\php\php.ini

Uncommented:

;extension=php_curl.dll
8

For Ubuntu (and probably all Debian-Based) Linux Distributions:

sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart 

You might have seen PHP Fatal error: Call to undefined function curl_init() before.

Martin Thoma
  • 124,992
  • 159
  • 614
  • 958
6

In SUSE Linux:

zypper in php5-curl
rcapache2 restart
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
David Mulder
  • 7,595
  • 11
  • 45
  • 61
4

You compile your PHP using --with-curl.

chaos
  • 122,029
  • 33
  • 303
  • 309
3

Since XAMPP went through some modifications, the file is now at xampp/php/php.ini.

Cole Tobin
  • 9,206
  • 15
  • 49
  • 74
wardprod
  • 31
  • 1
3

PHP 7^ version:

sudo apt-get install php-curl
sudo service apache2 restart
Santo Boldizar
  • 1,255
  • 14
  • 17
3

Basic tip: After enabling the CURL in php.ini file, you need to restart the web server to make it work (my experience says).

bluish
  • 26,356
  • 27
  • 122
  • 180
Krishna
  • 165
  • 1
  • 12
2

If you're are using MAMP, cURL is enabled by default.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Erman Taylan
  • 383
  • 1
  • 3
  • 12
1

Actually I did it by uncommenting extension=php_curl.dll in the xampp\apache\bin\php.ini file.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Fero
  • 12,969
  • 46
  • 116
  • 157
0

You can check phpinfo() (create a script containing and browse to it). This will tell you if you really do have it enabled. If not, read here.

It is not recommended for the faint-hearted Windows developer.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Question Mark
  • 3,557
  • 1
  • 25
  • 30
  • nope Mark.. I am in need to ENABLE cURL support exactly. Actually i did it by uncommenting the extension=php_curl.dllin the xampp\apache\bin\php.ini file . But it does not reflect. Any more Idea – Fero Aug 28 '09 at 14:10
  • 1
    Did you restart xampp? Did you get an error in your xampp log file? Do you have php_curl.dll in your xampp php extensions directory? – Question Mark Aug 28 '09 at 14:21
0

For windows OS users (It worked for me) in XAMPP.

step 1: Go to C:\xampp\php\php.ini

edit this file php.ini

find curl- you will see a line ;extension=php_curl.dll.

remove semicolon (;)extension=php_curl.dll. so this line looks like

;extension=php_curl.dll

to

extension=php_curl.dll

step 2: copy ssleay32.dll, libeay32.dll from php folder. paste it in C:\Windows\System32\

step 3: Restart the system . Curl will run successfully.

Vigneswaran S
  • 2,039
  • 1
  • 20
  • 32
0

check if curl module is available

$ ls -la /etc/php5/mods-available/

enable the curl module

$ sudo php5enmod curl

source: http://baligena.com/installing-curl-ubuntu-server/

baligena
  • 1,222
  • 12
  • 10
0

Check the php version, If you installed php 7.0 version

sudo apt-get install php7.0-curl
sudo service apache2 restart

If you installed php 5.6 version

sudo apt-get install php5-curl
sudo service apache2 restart
0

If none of the above solves your problem and have installed with php-x86 (Windows 32 bit), then problem may be of openssl - for more info : How to fix libeay32.dll was not found error

user170851
  • 385
  • 5
  • 6
-1

to install php5-curl under opensuse:

sudo yast2

->software ->software management ->search for curl ->check php5-curl case and accept.

after installation you need to restart apache server

service apache2 restart
Mehmet Emre Portakal
  • 1,774
  • 21
  • 37
user3218923
  • 197
  • 1
  • 2