PHP Velho Oeste 2024

curl_version

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_versioncURL sürüm bilgilerini döndürür

Açıklama

curl_version(): array|false

cURL sürümü hakkında bilgi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Aşağıdaki elemanları içeren bir ilişkisel dizi döner:

Anahtar Değer
version_number 24 bitlik cURL sürüm numarası
version Bir dizge olarak cURL sürüm numarası
ssl_version_number 24 bitlik OpenSSL sürüm numarası
ssl_version Bir dizge olarak OpenSSL sürüm numarası
libz_version Bir dizge olarak zlib sürüm numarası
host cURL'nin kurulu olduğu konut hakkında bilgi
age  
features CURL_VERSION_XXX sabitlerinden oluşan bir bit maskesi
protocols cURL tarafından desteklenen protokol isimlerini içeren bir dizi

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 Seçimlik age bağımsız değişkeni kaldırıldı.
7.4.0 Seçimlik age bağımsız değişkeninin kullanımı artık önerilmiyor, aktarılan bir değer varsa yoksayılıyor.

Örnekler

Örnek 1 - curl_version() örneği

Bu örnekte, curl_version() ile döndürülen 'features' bit maskesini kullanarak mevcut cURL kurulumuyla hangi özelliklerin kullanılabileceğine bakılmaktadır.

<?php
// cURL sürüm dizisini alalım
$sürüm = curl_version();

// cURL kurulumundaki özellikleri
// bu bit maskesinden öğreneceğiz
$bitmaskesi = Array(
'CURL_VERSION_IPV6',
'URL_VERSION_KERBEROS4',
'CURL_VERSION_SSL',
'CURL_VERSION_LIBZ'
);


foreach(
$bitmaskesi as $özellik)
{
echo
$özellik . ($sürüm['features'] & constant($özellik) ?
' kullanılabilir' : ' kullanılamaz');
echo
PHP_EOL;
}
?>

add a note add a note

User Contributed Notes 1 note

up
-4
nimasdj [AT] yahoo [DOT] com
8 years ago
If you want to check if your curl supports ssl, it is not good idea to go with curl_version()['ssl_version'],
e.g.
<?php
if (stripos(curl_version()['ssl_version'], "openssl") !== false) {
?>
as curl says here http://curl.haxx.se/docs/faq.html#Does_curl_work_build_with_other 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 http://curl.haxx.se/libcurl/c/curl_version_info.html 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:

[CURL_VERSION_IPV6] => 1
[CURL_VERSION_KERBEROS4] => 2
[CURL_VERSION_SSL] => 4
[CURL_VERSION_LIBZ] => 8

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:
<?php
if (!curl_version()['features'] & CURL_VERSION_SSL) {
    echo
"SSL is not supported with this cURL installation.";
}
?>
To Top