|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2021-10-18 13:12 UTC] cmb@php.net
-Assigned To:
+Assigned To: cmb
[2021-10-18 13:12 UTC] cmb@php.net
[2021-10-19 15:09 UTC] cmb@php.net
-Status: Assigned
+Status: Not a bug
[2021-10-19 15:09 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 18:00:01 2025 UTC |
Description: ------------ When calling curl_getinfo() on a pushed curl handle, the resulting entries return bad timing info, bad URL, empty primary_ip, etc. Test script: --------------- $mh = curl_multi_init(); curl_multi_setopt($mh, CURLMOPT_PUSHFUNCTION, $onPush = function ($p, $c, $h) { return CURL_PUSH_OK; }); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://http2-push.io'); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($mh, $ch); do { while (CURLM_CALL_MULTI_PERFORM === curl_multi_exec($mh, $active)); while ($info = curl_multi_info_read($mh)) { print_r(curl_getinfo($info['handle'])); } if (-1 === curl_multi_select($mh)) { usleep(1000); } } while ($active); Expected result: ---------------- entry "url" should be set to the pushed URL entry "primary_ip" should be set to the pushing server IP entry "starttransfer_time" should return plausible value etc. Actual result: -------------- entry "url" is set to the URL of the parent response entry "primary_ip" is empty entry "starttransfer_time" is 0.0 or some impossible (more than 1M seconds) etc.