note 117733 added to function.curl-version
| From: | nimasdj | Date: | Thu, 30 Jul 2015 10:04:51 +0000 |
| Subject: | note 117733 added to function.curl-version | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-203220@lists.php.net to get a copy of this message | ||
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.";
}
?>
----
Server IP: 91.199.167.223
Probable Submitter: 2.177.153.168
----
Manual Page -- http://php.net/manual/en/function.curl-version.php
Edit -- https://master.php.net/note/edit/117733
Del: integrated -- https://master.php.net/note/delete/117733/integrated
Del: useless -- https://master.php.net/note/delete/117733/useless
Del: bad code -- https://master.php.net/note/delete/117733/bad+code
Del: spam -- https://master.php.net/note/delete/117733/spam
Del: non-english -- https://master.php.net/note/delete/117733/non-english
Del: in docs -- https://master.php.net/note/delete/117733/in+docs
Del: other reasons-- https://master.php.net/note/delete/117733
Reject -- https://master.php.net/note/reject/117733
Search -- https://master.php.net/manage/user-notes.php