PHP cURL curl_close() Function



The PHP Client URL curl_close() function is used to close a cURL session and free all resources related with it. To use this function you need to initialize cURL session using curl_init().

This function produces no effect. Before PHP 8.0.0 version, this function was used to close a resource.

Syntax

Below is the syntax of the PHP cURL curl_close() function −

void curl_close ( resource $ch )

Parameters

This function accepts $ch parameter which is the cURL handle resource returned by curl_init().

Return Value

The curl_close() function does not return a value as it simply closes the session.

PHP Version

Introduced in core PHP 4.0.2, the curl_close() function works well with PHP 5, PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP cURL curl_close() function to close the cURL session and free the resources.

<?php
   // create a new cURL resource
   $ch = curl_init();

   // Set URL and other appropriate options
   curl_setopt($ch, CURLOPT_URL, "https://www.tutorialspoint.com/");
   curl_setopt($ch, CURLOPT_HEADER, 0);

   // Grab URL and pass it to the browser
   curl_exec($ch);

   // Close cURL resource
   curl_close($ch);

   echo "The session is closed successfully.";

Output

Here is the outcome of the following code −

The session is closed successfully.

Example 2

This is an additional PHP example code that uses the curl_close() method to end the session by handling error.

<?php
   // Initialize a cURL session
   $ch = curl_init();

   // Set the URL to fetch
   curl_setopt($ch, CURLOPT_URL, "https://www.tutorialspoint.com");

   // Return the transfer as a string instead of outputting it directly
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

   // Execute the cURL session
   $output = curl_exec($ch);

   // Check if any error occurred
   if(curl_errno($ch)) {
      echo 'cURL Error: ' . curl_error($ch);
   } else {
      // Print the output
      echo $output;
   }

   // Close the cURL session to free up resources
   curl_close($ch);

   echo "The session is closed successfully.";
?> 

Output

This will produce the following output −

The session is closed successfully.

Example 3

Here is one more example to see the usage of curl_close() function by fetching JSON data from an API endpoint and processes it. And after processing the data close the session using curl_close() function.

<?php
   // Initialize a new cURL session
   $ch = curl_init();

   // Set the URL to fetch JSON data
   $url = "https://jsonplaceholder.typicode.com/posts/1";
   curl_setopt($ch, CURLOPT_URL, $url);

   // Return the transfer as a string instead of outputting it directly
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

   // Execute the cURL session
   $response = curl_exec($ch);

   // Check for errors
   if (curl_errno($ch)) {
      echo 'cURL Error: ' . curl_error($ch);
   } else {
      // Decode JSON response
      $data = json_decode($response, true);

      // Process the data
      if ($data) {
         echo "Title: " . $data['title'] . "<br>";
         echo "Body: " . $data['body'];
      } else {
         echo "Error decoding JSON data.";
      }
   }

   // Close cURL resource
   curl_close($ch);
?> 

Output

This will generate the below output −

Title: sunt aut facere repellat provident occaecati excepturi optio reprehenderit
Body: quia et suscipit suscipit recusandae consequuntur expedita et cum reprehenderit molestiae ut ut quas totam nostrum rerum est autem sunt rem eveniet architecto

Summary

The curl_close() method is a built-in function to close the opened session to save the resources. You can terminate the cURL session and stop your script from using system resources by calling this function.

php_function_reference.htm
Advertisements