php-src/ext
Ayesh Karunaratne ba0f9fb501
ext/curl: Add feature_info assoc array to curl_version() (#13439)
The `phpinfo()` section of the Curl extension lists individual features
supported by the particular ext-Curl + libcurl build. However, the
`curl_version()` function return values do not indicate the same level of
details.

`curl_version()` has a `protocols` key that returns an array of all protocols
supported by the build. But the `features` key is a bitmask of all the features.
Checking the availability of certain feature requires knowing the corresponding
`CURL_VERSION` constant, and checking the availability of the constant and a
bitmask check for it in the `features` value.

For example, to determine HTTP2 support, it requires evaluating:

```php
defined('CURL_VERSION_HTTP2') && (curl_version()['features'] & CURL_VERSION_HTTP2 === CURL_VERSION_HTTP2)
```

To make feature availability checks more intuitive, this adds a new
`feature_list` key to `curl_version()` output array.

With it, checking for individual features availability is easier, and does
not require inspecting the availability of the `CURL_VERSION` constant and
the `features` key.

```php
!empty(curl_version()['feature_list']['HTTP2']);
```
2024-02-21 00:46:22 +00:00
..
bcmath Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
bz2 Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
calendar Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
com_dotnet Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
ctype Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
curl ext/curl: Add feature_info assoc array to curl_version() (#13439) 2024-02-21 00:46:22 +00:00
date Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
dba Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
dl_test Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
dom Update error handling when node cannot be added (#13421) 2024-02-18 15:35:41 +01:00
enchant Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
exif Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
ffi Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
fileinfo Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
filter Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
ftp Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
gd Remove malloc.h (#13436) 2024-02-20 18:02:54 +01:00
gettext Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
gmp Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
hash Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
iconv Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
intl Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
json Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
ldap [skip ci] Fix ldap skipif 2024-02-19 10:16:13 +01:00
libxml Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
mbstring [skip ci] Sync file permissions in Git repository 2024-02-20 17:58:47 +01:00
mysqli Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
mysqlnd Merge branch 'PHP-8.3' 2024-02-10 14:05:26 +01:00
odbc Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
opcache Update IR 2024-02-21 01:48:38 +03:00
openssl Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
pcntl Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pcre [skip ci] Fix Intel CET check in ext/pcre 2024-02-19 14:25:40 +01:00
pdo Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pdo_dblib Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pdo_firebird Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pdo_mysql Tidy up pdo_mysql_attr_max_buffer_size.phpt 2024-02-18 13:09:19 +01:00
pdo_odbc Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pdo_pgsql Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pdo_sqlite Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
pgsql Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
phar Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
posix Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
random Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
readline Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
reflection Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
session Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
shmop Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
simplexml Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
skeleton Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
snmp Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
soap Rename HAVE_PHP_SOAP symbol on Windows ext/soap (#13426) 2024-02-18 18:01:12 +01:00
sockets Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
sodium Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
spl Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
sqlite3 Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
standard Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
sysvmsg Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
sysvsem Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
sysvshm Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
tidy Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
tokenizer Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
xml Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
xmlreader Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
xmlwriter Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
xsl Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
zend_test Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
zip Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
zlib Do not generate frameless info items when func info generation is disabled 2024-02-18 11:39:00 +01:00
ext_skel.php