curl_init

Initialize a cURL session

&reftitle.description; ``CurlHandle``false```curl_init` ``string``null```url`&null;

Initializes a new session and returns a cURL handle.

&reftitle.parameters;

`url`

- If provided, the `CURLOPT_URL` option will be set to its value. This can be set manually using the `curl_setopt` function.

  The `file` protocol is disabled by cURL if open_basedir is set.

&reftitle.returnvalues;

Returns a cURL handle on success, &false; on errors.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | On success, this function returns a `CurlHandle` instance now; previously, a `resource` was returned.
8.0.0 | `url` is nullable now.

&reftitle.examples;

### Initializing a new cURL session and fetching a web page

    <?php

    // Initializes a new cURL session
    $ch = curl_init();

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

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

    ?>

&reftitle.seealso;

- `curl_multi_init`