RollingCurlX
Easy to use cURL Multi wrapper for PHP
Install / Use
/learn @marcushat/RollingCurlXREADME

Rolling Curl X is a fork of Rolling Curl wrapper cURL Multi. It aims at making concurrent http requests in PHP as easy as possible.
License
MIT
Version
3.0.0
Requirements
PHP 5.4+
How to Use
Using this class is very easy.
First initialize class with the maximum number of concurrent requests you want open at a time. All requests after this will be queued until one completes.
$RCX = new RollingCurlX(10);
Next add a request to the queue
$url = 'http://www.google.com/search?q=apples';
$post_data = ['user' => 'bob', 'token' => 'dQw4w9WgXcQ']; //set to NULL if not using POST
$user_data = ['foo', $whatever];
$options = [CURLOPT_FOLLOWLOCATION => false];
function callback_functn($response, $url, $request_info, $user_data, $time) {
$time; //how long the request took in milliseconds (float)
$request_info; //array returned by curl_getinfo($ch), plus a couple extras
}
$RCX->addRequest($url, $post_data, 'callback_functn', $user_data, $options, $headers);
Send the requests. Blocks until all requests complete or timeout.
$RCX->execute();
See? Easy. Thats pretty much it for a simple request.
There's more if you need it though...
//Set a timeout on all requests:
$RCX->setTimeout(3000); //in milliseconds
//To set options for all requests(will be overridden by individual request options):
$RCX->setOptions([$curl_options]);
//To do the same with http headers:
$RCX->setHeaders(['Content-type: application/xml', 'Authorization: gfhjui']);
Issues
If you find any issues please let me know.
Enjoy.
http://www.github.com/marcushat/rollingcurlx
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
