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 — Obtém informação sobre as transferências atuais
Interroga o multi-identificador se existem mensagens ou informações das transferências individuais. Mensagens podem incluir informações como um código de erro da transferência ou apenas o fato de uma transferência ter sido concluída.
   Chamadas repetidas a esta função irão retornar um novo resultado a cada vez, até que um valor false seja retornado
   como um sinal de que não há mais o que receber no momento. O inteiro apontado pelo parâmetro
   queued_messages conterá o número de mensagens remanescentes depois que esta
   função foi chamada.
  
Os dados apontados pelo recurso retornado não irão sobreviver à chamada a curl_multi_remove_handle().
multi_handle
Um manipulador cURL múltiplo retornado por curl_multi_init().
queued_messagesNúmero de mensagens que ainda estão na fila
   Em caso de sucesso, retorna um array associativo para a mensagem, false em caso de falha.
  
| Chave: | Valor: | 
|---|---|
| msg | A constante CURLMSG_DONE. Outros valores de retorno
       autalmente não estão disponíveis. | 
| result | Uma das constantes CURLE_*. Se tudo estiver
       correto, a constanteCURLE_OKserá o resultado. | 
| handle | Identificador cURL. | 
| Versão | Descrição | 
|---|---|
| 8.0.0 | O parâmetro multi_handleagora espera uma instância de CurlMultiHandle;
  anteriormente, um resource era esperado. | 
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.