(PHP 4 >= 4.0.2, PHP 5)

curl_versionВозвращает версию cURL


array curl_version ([ int $age = CURLVERSION_NOW ] )

Возвращает информацию о версии cURL.

Список параметров


Возвращаемые значения

Возвращает ассоциативный массив со следующими элементами:

Индекс Описание значения
version_number 24-битный номер версии cURL
version Номер версии cURL, в виде строки
ssl_version_number 24-битный номер версии OpenSSL
ssl_version Номер версии OpenSSL, в виде строки
libz_version Номер версии zlib, в виде строки
host Информация о хосте, где была собрана cURL
features Битовая маска констант CURL_VERSION_XXX
protocols Массив поддерживаемых протоколов cURL


Пример #1 Пример использования curl_version()

Этот пример проверит какие возможности поддерживает данная сборка cURL с помощью битовой маски 'features', возвращаемой функцией curl_version().

// Получаем массив с информацией о версии curl
$version curl_version();

// Это битовые поля, которые можно использовать
// для проверки возможностей сборки curl
$bitfields = Array(

$bitfields as $feature)
$feature . ($version['features'] & constant($feature) ? ' есть' ' нет');


If you want to check if your curl supports ssl, it is not good idea to go with curl_version()['ssl_version'], 
if (stripos(curl_version()['ssl_version'], "openssl") !== false) { 
as curl says here it may use other ssl library than OpenSSL (which does not have anything to do with that separated openssl extension, curl has its own openssl library) so as described here it is better to go with CURL_VERSION_SSL bitmask check rather than curl_version()['ssl_version']. Note that not all of those constants stated on official cURL website are available in php, but only these four constants:


I tested this on Windows by disabling "openssl" extension in php.ini and noticed curl has nothing to do with that separated openssl extension but it has its own openssl, in other word, disabling openssl extension does not affect on curl_version()['ssl_version']. So if you want to check if curl has support for ssl, you should not rely on existence of that separated openssl extension and above I explained you should not rely on curl_version()['ssl_version'] neither. The only reliable way is CURL_VERSION_SSL bitmask checking:
if (!curl_version()['features'] & CURL_VERSION_SSL) {
"SSL is not supported with this cURL installation.";
2015-07-30 13:04:48

    Поддержать сайт на родительском проекте КГБ