curl_version

Gets cURL version information

&reftitle.description; ``array``false```curl_version`

Returns information about the cURL version.

&reftitle.parameters; &no.function.parameters;
&reftitle.returnvalues;

Returns an associative array with the following elements:

Key | Value description
version_number | cURL 24 bit version number
version | cURL version number, as a string
ssl_version_number | OpenSSL 24 bit version number
ssl_version | OpenSSL version number, as a string
libz_version | zlib version number, as a string
host | Information about the host where cURL was built
age |
features | A bitmask of the `CURL_VERSION_`*`` constants
protocols | An array of protocols names supported by cURL
feature_list | An associative array of all known cURL features, and whether they are supported (&true;) or not (&false;)

&reftitle.changelog;

&Version; | &Description;
8.4.0 | `features_list` added.
8.0.0 | The optional `age` parameter has been removed.
7.4.0 | The optional `age` parameter has been deprecated; if a value is passed, it is ignored.

&reftitle.examples;

### `curl_version` example

This example will check which features that's available in cURL build by using the `'features'` bitmask returned by `curl_version`.

    <?php
    // Get curl version array
    $version = curl_version();

    // These are the bitfields that can be used
    // to check for features in the curl build
    $bitfields = Array(
                'CURL_VERSION_IPV6',
                'CURL_VERSION_KERBEROS4',
                'CURL_VERSION_SSL',
                'CURL_VERSION_LIBZ'
                );

    foreach($bitfields as $feature)
    {
        echo $feature . ($version['features'] & constant($feature) ? ' matches' : ' does not match');
        echo PHP_EOL;
    }
    ?>