In this quick tip tutorial we’re looking at how to enable CURL in PHP. I’ve included a number of different options as it may be different depending on what your running.
For those that want a bit of background on what CURL is and can be used for continue reading. If you just want the answer click here!
What is CURL?
CURL is a library created by Daniel Stenberg that allows you to connect and communicate via a variety of different protocols such as HTTP, HTTPS, FTP, Telnet etc
I personally use cURL as an alternative to file_get_contents(URL) to get web content as it provides better performance and additional functionality and flexibility.
Why doesn’t CURL work on my computer?
By default CURL isn’t enabled in Apache and therefore trying to make a CURL call won’t work until you’ve enabled it.
CURL Error Message
If curl isnt running and your trying to run it In php you’ll more than likely be Seeing an error message like : “Fatal error: Call to undefined function curl_init()”
Right, now we’ve covered that lets get cURL working!
How to enable CURL in Apache
There are a few ways I found to go about enabling CURL in apache. The one you choose will depend on what OS your running and which flavour of Apache you’ve got.
Hopefully one of these should sort you out:
Option 1 : enable CURL via the php.inI
This is the main method on any windows install like WAMP, XAMPP etc
- Locate your PHP.ini file
(normally located at in the bin folder of your apache install e.g.
- Open the PHP.ini in notepad
- Search or find the following : ‘;extension=php_curl.dll’
- Uncomment this by removing the semi-colon ‘;’ before it
- Save and Close PHP.ini
- Restart Apache
Option 2: Enabling CURL in WAMP
- Left-click on the WAMP server icon in the bottom right of the screen
- PHP -> PHP Extensions -> php_curl
Option 3: enable CURL in Ubuntu
Run the following command:
sudo service apache2 restart
How to Make sure CURL is enabled and running
Option 1: Use the phpinfo() command to output PHP’s configuration and look for curl support under the listed environment variable/modules
Option 2: Create and run a simple PHP script like the following:
$ch = curl_init();// set url
curl_setopt($ch, CURLOPT_URL, “domain.com”);
//return the as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// echo output string
$output = curl_exec($ch);
// close curl resource to free up system resources
Option 3: On a unix machine type the following command:
That’s it. Your done!
If you have any questions leave them below. Don’t forget to share this if it was useful!