Just to let others who might be struggling to get it to work, curl_multi_info_read() doesn't work in PHP versions before 5.2.0, and instead returns NULL immediately.(PHP 5, PHP 7, PHP 8)
curl_multi_info_read — Get information about the current transfers
Ask the multi handle if there are any messages or information from the individual transfers. Messages may include information such as an error code from the transfer or just the fact that a transfer is completed.
   
   Repeated calls to this function will return a new result each time, until a false is returned 
   as a signal that there is no more to get at this point. The integer pointed to with 
   queued_messages will contain the number of remaining messages after this 
   function was called.
  
The data the returned resource points to will not survive calling curl_multi_remove_handle().
mhМультидескриптор cURL, якого повертає curl_multi_init().
queued_messagesNumber of messages that are still in the queue
   On success, returns an associative array for the message, false on failure.
  
| Key: | Value: | 
|---|---|
| msg | The CURLMSG_DONEconstant. Other return values
       are currently not available. | 
| result | One of the CURLE_*constants. If everything is
       OK, theCURLE_OKwill be the result. | 
| handle | Resource of type curl indicates the handle which it concerns. | 
| Версія | Опис | 
|---|---|
| 8.0.0 | multi_handleтепер має бути примірником класу
  CurlMultiHandle; раніше очікувався
  resource. | 
Just to let others who might be struggling to get it to work, curl_multi_info_read() doesn't work in PHP versions before 5.2.0, and instead returns NULL immediately.