How to enable cURL in PHP? - GeeksforGeeks

01 Aug, 2021
Often, web applications require HTTP based UserID and Password authentication, cookies, and form uploads. Even, user authentication with Google or Facebook sign-in is done via HTTP. In these types of cases, we need to request a particular service server(Like Google’s) for user validation and authentication token on our server. The entire process takes place through the service server’s APIs. The cURL helps our web applications to interact/communicate with those APIs on the HTTP level.
cURL: It is a library created by Daniel Stenberg. The cURL stands for client URL. It allows us to connect with other URLs and use their responses in our code. The cURL is a way that can hit a URL from our code to get an html response from it. The cURL is also used in command lines or scripts for data transfer. cURL with respect to PHP is a library that lets us make HTTP requests in PHP. It’s easier to do GET/POST requests with curl_exec to receive responses from other servers for JSON format data response and to download files.
Required to “enable” cURL: The cURL, by default, is not enabled in Apache. If we try to run CURL programs without enabling CURL in Apache, the browser will throw an error.
Fatal error: Call to undefined function curl_init()
.To avoid this, we need to enable the CURL extension in the Apache server with the following methods in different environments.
Enable CURL in Apache: Enabling CURL in Apache by configuring php.ini file.
Step 1: Locate PHP.ini file, it is mostly in the server’s root folder or public_html then open the PHP.ini in a text editor
Step 2: Search or find the ;extension=php_curl.dll with Ctrl+F and remove the semi-colon ‘;’ before it to activate it.
Step 3: Save and Close PHP.ini with Ctrl+S and restart Apache from terminal/CMD
Enabling cURL in WAMP: WAMP is a software stack available for Windows that bundle Apache, MySQL, and PHP together. It’s an installation pack for installing the three web technologies on the Windows environment together in a hassle-free GUI guided fashion.
Step 1: Left-click on the WAMP server icon in the bottom right of the screen.
Step 2: PHP -> PHP Extensions -> curl.
Enabling CURL in Ubuntu: Run the following command:
This command installs the PHP CURL.sudo apt-get install php5-curl
sudo apt-get install php5-curl
This command starts with the Apache server.sudo service apache2 restart
sudo service apache2 restart
Check if CURL is enabled or not: If we try to run a cURL PHP program without cURL being enabled, the browser will throw the following error.
Example:<?php        // Create curl resource        $ch = curl_init();          // set url        curl_setopt($ch, CURLOPT_URL, "https://www.geeksforgeeks.org/");          // Return the transfer as a string        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);          // $output contains the output string        $output = curl_exec($ch);          echo $output;          // Close curl resource to free up system resources        curl_close($ch);     ?>
<?php        // Create curl resource        $ch = curl_init();          // set url        curl_setopt($ch, CURLOPT_URL, "https://www.geeksforgeeks.org/");          // Return the transfer as a string        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);          // $output contains the output string        $output = curl_exec($ch);          echo $output;          // Close curl resource to free up system resources        curl_close($ch);     ?>
Output: This page of GeekforGeeks is now rendered on my localhost running the Apache server. The HTML content is “echoed” as the output.
PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.
PHP-Misc
Picked
PHP
Web Technologies
Web technologies Questions
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Insert Form Data into Database using PHP ?
How to convert array to string in PHP ?
PHP | Converting string to Date and DateTime
Comparing two dates in PHP
How to pass JavaScript variables to PHP ?
Remove elements from a JavaScript Array
Installation of Node.js on Linux
Convert a string to an integer in JavaScript
How to fetch data from an API in ReactJS ?
Difference between var, let and const keywords in JavaScript