From 89496808f06f91ac6da172eafc90c152804a3d20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Mon, 30 Jun 2025 22:13:52 +0300 Subject: [PATCH 1/9] added CURLINFO_CONN_ID --- UPGRADING | 6 +++ ext/curl/curl.stub.php | 7 ++++ ext/curl/curl_arginfo.h | 5 ++- ext/curl/interface.c | 5 +++ .../tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 39 +++++++++++++++++++ 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt diff --git a/UPGRADING b/UPGRADING index 5491d85f529d8..476021712c28c 100644 --- a/UPGRADING +++ b/UPGRADING @@ -182,6 +182,11 @@ PHP 8.5 UPGRADE NOTES first redirect thus if there is any follow up redirect, it won't go any further. CURLFOLLOW_ALL is equivalent to setting CURLOPT_FOLLOWLOCATION to true. + . Added support for CURLINFO_CONN_ID (libcurl >= 8.2.0) to the curl_getinfo() + function. This constant allows retrieving the unique ID of the connection + used by a cURL transfer. It is primarily useful when connection reuse or + connection pooling logic is needed in PHP-level applications. When + curl_getinfo() returns an array, this value is available as the "conn_id" key. - DOM: . Added Dom\Element::$outerHTML. @@ -483,6 +488,7 @@ PHP 8.5 UPGRADE NOTES . CURLINFO_USED_PROXY. . CURLINFO_HTTPAUTH_USED. . CURLINFO_PROXYAUTH_USED. + . CURLINFO_CONN_ID. . CURLOPT_INFILESIZE_LARGE. . CURLFOLLOW_ALL. . CURLFOLLOW_OBEYCODE. diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php index 00532f45793f5..5dac22ae7952c 100644 --- a/ext/curl/curl.stub.php +++ b/ext/curl/curl.stub.php @@ -3103,6 +3103,13 @@ */ const CURLINFO_POSTTRANSFER_TIME_T = UNKNOWN; #endif +#if LIBCURL_VERSION_NUM >= 0x080200 /* Available since 8.2.0 */ +/** + * @var int + * @cvalue CURLINFO_CONN_ID + */ +const CURLINFO_CONN_ID = UNKNOWN; +#endif /** * @var int * @cvalue CURLOPT_DISALLOW_USERNAME_IN_URL diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h index cff18b2916859..bda4806d8ca05 100644 --- a/ext/curl/curl_arginfo.h +++ b/ext/curl/curl_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: c087ac501d0abe14ed87968023d837f358e6fee8 */ + * Stub hash: 533884c442ca1146a61c0824a4f8c9628c31aae3 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0) @@ -824,6 +824,9 @@ static void register_curl_symbols(int module_number) #endif #if LIBCURL_VERSION_NUM >= 0x080a00 /* Available since 8.10.0 */ REGISTER_LONG_CONSTANT("CURLINFO_POSTTRANSFER_TIME_T", CURLINFO_POSTTRANSFER_TIME_T, CONST_PERSISTENT); +#endif +#if LIBCURL_VERSION_NUM >= 0x080200 /* Available since 8.2.0 */ + REGISTER_LONG_CONSTANT("CURLINFO_CONN_ID", CURLINFO_CONN_ID, CONST_PERSISTENT); #endif REGISTER_LONG_CONSTANT("CURLOPT_DISALLOW_USERNAME_IN_URL", CURLOPT_DISALLOW_USERNAME_IN_URL, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_PROXY_TLS13_CIPHERS", CURLOPT_PROXY_TLS13_CIPHERS, CONST_PERSISTENT); diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 3470ad2f72327..956a70f3d7cfb 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2659,6 +2659,11 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_POSTTRANSFER_TIME_T, &co) == CURLE_OK) { CAAL("posttransfer_time_us", co); } +#endif +#if LIBCURL_VERSION_NUM >= 0x080200 /* Available since 8.2.0 */ + if (curl_easy_getinfo(ch->cp, CURLINFO_CONN_ID , &co) == CURLE_OK) { + CAAL("conn_id", co); + } #endif if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME_T, &co) == CURLE_OK) { CAAL("total_time_us", co); diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt new file mode 100644 index 0000000000000..43c0df5cb7ea7 --- /dev/null +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -0,0 +1,39 @@ +--TEST-- +Curlinfo CURLINFO_CONN_ID +--EXTENSIONS-- +curl +--SKIPIF-- += 8.2.0"); +?> +--FILE-- + 0); + +?> +--EXPECT-- +bool(false) +bool(true) +bool(true) +bool(true) +bool(true) + From 045953d9882738d855bad1fa7d405872aea1c3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Mon, 30 Jun 2025 22:36:08 +0300 Subject: [PATCH 2/9] added CURLINFO_CONN_ID --- ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index 43c0df5cb7ea7..bfcf78ab3d933 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -20,18 +20,20 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); +var_dump($info['posttransfer_time_us'] === -1); $result = curl_exec($ch); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['CURLINFO_CONN_ID']); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) > 0); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === -1); ?> --EXPECT-- -bool(false) +bool(true) +bool(true) bool(true) bool(true) bool(true) From f6704b7b05a69bcc0896384e96bf16aa4bac3791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Mon, 30 Jun 2025 22:58:05 +0300 Subject: [PATCH 3/9] added CURLINFO_CONN_ID --- .../tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index bfcf78ab3d933..74465ff783781 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -20,7 +20,9 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); -var_dump($info['posttransfer_time_us'] === -1); +var_dump($info['conn_id'] === 0); +var_dump("1. debug"); +var_dump($info['conn_id']); $result = curl_exec($ch); @@ -29,6 +31,19 @@ var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === -1); +var_dump("2. debug"); +var_dump($info['conn_id']); + + + +curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=file"); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); +$result = curl_exec($ch); + +$info = curl_getinfo($ch); +var_dump("3. debug"); +var_dump($info['conn_id']); + ?> --EXPECT-- From 4c17b9ba5f19d5010a6e9ed3d641c2f48845f58d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Mon, 30 Jun 2025 23:19:47 +0300 Subject: [PATCH 4/9] added CURLINFO_CONN_ID --- ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index 74465ff783781..f8a9fa78ebe9b 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -17,12 +17,19 @@ $port = (int) (explode(':', $host))[1]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=file"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); +curl_setopt($ch, CURLOPT_FORBID_REUSE, false); +curl_setopt($ch, CURLOPT_FRESH_CONNECT, false); +curl_setopt($ch, CURLOPT_HTTPHEADER, [ + 'Connection: Keep-Alive', + 'Keep-Alive: 10' +]); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); var_dump($info['conn_id'] === 0); var_dump("1. debug"); var_dump($info['conn_id']); +print_r($info); $result = curl_exec($ch); @@ -33,6 +40,7 @@ var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === -1); var_dump("2. debug"); var_dump($info['conn_id']); +print_r($info); @@ -43,6 +51,7 @@ $result = curl_exec($ch); $info = curl_getinfo($ch); var_dump("3. debug"); var_dump($info['conn_id']); +print_r($info); ?> From 97f7af0a4240fff7be7fe79dc597c6d499561616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Tue, 1 Jul 2025 00:04:59 +0300 Subject: [PATCH 5/9] added CURLINFO_CONN_ID --- ext/curl/interface.c | 10 +++--- .../tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 33 +++++++------------ 2 files changed, 17 insertions(+), 26 deletions(-) diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 956a70f3d7cfb..f478320b743e8 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2659,11 +2659,6 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_POSTTRANSFER_TIME_T, &co) == CURLE_OK) { CAAL("posttransfer_time_us", co); } -#endif -#if LIBCURL_VERSION_NUM >= 0x080200 /* Available since 8.2.0 */ - if (curl_easy_getinfo(ch->cp, CURLINFO_CONN_ID , &co) == CURLE_OK) { - CAAL("conn_id", co); - } #endif if (curl_easy_getinfo(ch->cp, CURLINFO_TOTAL_TIME_T, &co) == CURLE_OK) { CAAL("total_time_us", co); @@ -2696,6 +2691,11 @@ PHP_FUNCTION(curl_getinfo) if (curl_easy_getinfo(ch->cp, CURLINFO_PROXYAUTH_USED, &l_code) == CURLE_OK) { CAAL("proxyauth_used", l_code); } +#endif +#if LIBCURL_VERSION_NUM >= 0x080200 /* Available since 8.2.0 */ + if (curl_easy_getinfo(ch->cp, CURLINFO_CONN_ID , &co) == CURLE_OK) { + CAAL("conn_id", co); + } #endif } else { switch (option) { diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index f8a9fa78ebe9b..fba971c005d0d 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -15,21 +15,12 @@ $host = curl_cli_server_start(); $port = (int) (explode(':', $host))[1]; $ch = curl_init(); -curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=file"); +curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=get"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); -curl_setopt($ch, CURLOPT_FORBID_REUSE, false); -curl_setopt($ch, CURLOPT_FRESH_CONNECT, false); -curl_setopt($ch, CURLOPT_HTTPHEADER, [ - 'Connection: Keep-Alive', - 'Keep-Alive: 10' -]); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); -var_dump($info['conn_id'] === 0); -var_dump("1. debug"); -var_dump($info['conn_id']); -print_r($info); +var_dump($info['conn_id'] === -1); $result = curl_exec($ch); @@ -37,21 +28,17 @@ $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === -1); -var_dump("2. debug"); -var_dump($info['conn_id']); -print_r($info); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); - - -curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=file"); +curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=get"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); $info = curl_getinfo($ch); -var_dump("3. debug"); -var_dump($info['conn_id']); -print_r($info); +var_dump(isset($info['conn_id'])); +var_dump(is_int($info['conn_id'])); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 1); ?> @@ -62,4 +49,8 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) +bool(true) +bool(true) +bool(true) From 5c9d18aedda329646ed236c6117c2415be5042ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Thu, 3 Jul 2025 15:29:51 +0300 Subject: [PATCH 6/9] added curl multi handle test --- .../tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index fba971c005d0d..0c2ec208b973b 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -40,6 +40,33 @@ var_dump(is_int($info['conn_id'])); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 1); +$ch1=curl_init(); +$ch2=curl_init(); +$cmh=curl_multi_init(); + +foreach([$ch1, $ch2] as $ch) { + curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=getpost&get_param=Curl%20Handle"); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $info = curl_getinfo($ch); + var_dump(isset($info['conn_id'])); + var_dump($info['conn_id'] === -1); + curl_multi_add_handle($cmh,$ch); +} + +$running=0; +do { + curl_multi_exec($cmh,$running); +} while ($running>0); + +foreach([$ch1, $ch2] as $ch) { + $result = curl_multi_getcontent($ch); + $info = curl_getinfo($ch); + var_dump(isset($info['conn_id'])); + var_dump(is_int($info['conn_id'])); + var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); + var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); +} + ?> --EXPECT-- @@ -53,4 +80,12 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) From 7b57965c4d40387e95c80003a52c158afa60c997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Thu, 3 Jul 2025 15:59:13 +0300 Subject: [PATCH 7/9] added curl share test --- .../tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 55 ++++++++++++++++++- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index 0c2ec208b973b..3d259b4bec43c 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -58,15 +58,54 @@ do { curl_multi_exec($cmh,$running); } while ($running>0); -foreach([$ch1, $ch2] as $ch) { +foreach([$ch1, $ch2] as $key => $ch) { $result = curl_multi_getcontent($ch); $info = curl_getinfo($ch); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); - var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); + var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $key); } +$csh = curl_share_init(); + +curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE); +curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT); +curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS); +curl_share_setopt($csh, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION); + + +$ch1=curl_init(); +$ch2=curl_init(); + +foreach([$ch1, $ch2] as $ch) { + curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=getpost&get_param=Curl%20Handle"); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $info = curl_getinfo($ch); + var_dump(isset($info['conn_id'])); + var_dump($info['conn_id'] === -1); +} + + +curl_setopt($ch1, CURLOPT_SHARE, $csh); + +$result = curl_exec($ch1); + +$info = curl_getinfo($ch1); +var_dump(isset($info['conn_id'])); +var_dump(is_int($info['conn_id'])); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); + +curl_setopt($ch2, CURLOPT_SHARE, $csh); + +$result = curl_exec($ch2); + +$info = curl_getinfo($ch2); +var_dump(isset($info['conn_id'])); +var_dump(is_int($info['conn_id'])); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); ?> --EXPECT-- @@ -88,4 +127,16 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) From 4021a7701f3b5e9356bd33e224d4aa2307514460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Thu, 3 Jul 2025 16:23:26 +0300 Subject: [PATCH 8/9] added curl share test --- ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index 3d259b4bec43c..ac26ad3f6585b 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -94,8 +94,8 @@ $result = curl_exec($ch1); $info = curl_getinfo($ch1); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); +var_dump(curl_getinfo($ch1, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch1, CURLINFO_CONN_ID) === 0); curl_setopt($ch2, CURLOPT_SHARE, $csh); @@ -104,8 +104,8 @@ $result = curl_exec($ch2); $info = curl_getinfo($ch2); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === $info['conn_id']); -var_dump(curl_getinfo($ch, CURLINFO_CONN_ID) === 0); +var_dump(curl_getinfo($ch2, CURLINFO_CONN_ID) === $info['conn_id']); +var_dump(curl_getinfo($ch2, CURLINFO_CONN_ID) === 0); ?> --EXPECT-- @@ -139,4 +139,8 @@ bool(true) bool(true) bool(true) bool(true) +bool(true) +bool(true) +bool(true) +bool(true) From 22aef08fe00ee869052367d4889829afe7e8e6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emre=20=C3=87al=C4=B1=C5=9Fkan?= Date: Thu, 3 Jul 2025 16:38:26 +0300 Subject: [PATCH 9/9] added curl share test --- ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt index ac26ad3f6585b..4a90b0a3c52e3 100644 --- a/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt +++ b/ext/curl/tests/curl_getinfo_CURLINFO_CONN_ID.phpt @@ -105,7 +105,7 @@ $info = curl_getinfo($ch2); var_dump(isset($info['conn_id'])); var_dump(is_int($info['conn_id'])); var_dump(curl_getinfo($ch2, CURLINFO_CONN_ID) === $info['conn_id']); -var_dump(curl_getinfo($ch2, CURLINFO_CONN_ID) === 0); +var_dump(curl_getinfo($ch2, CURLINFO_CONN_ID) === 1); ?> --EXPECT--