1 2 3<!DOCTYPE html> 4<html lang="en"> 5<head> 6 <meta charset="UTF-8"/> 7 <meta name="viewport" content="width=device-width, initial-scale=1"/> 8 <title>Roadrunner: a high-performance PHP application server</title> 9 <meta name="twitter:card" value="RoadRunner is a high-performance PHP application server, load-balancer, and process manager written in Golang."/> 10 <meta name="Description" content="RoadRunner is a high-performance PHP application server, load-balancer, and process manager written in Golang."/> 11 <meta name="Keywords" content="golang, php, high-performance, application server, load-balancer, workers"/> 12 <meta property="og:title" content="RoadRunner : a high-performance PHP application server"/> 13 <meta property="og:type" content="website"/> 14 <meta property="og:url" content="https://roadrunner.dev"/> 15 <meta property="og:image" content="https://roadrunner.dev/images/roadrunner/logo.png"/> 16 <meta property="og:description" content="RoadRunner is a high-performance PHP application server, load-balancer, and process manager written in Golang."/> 17 <meta name="theme-color" content="#FFFFFF"/> 18 <meta name="apple-mobile-web-app-status-bar-style" content="default"/> 19 <link rel="stylesheet" href="/resources/roadrunner/home.e808c8ae089147a1c897.css"/> 20 <link rel="shortcut icon" href="/images/roadrunner/favicon.ico" type="image/x-icon"/> 21 22 23 <!-- Google Tag Manager --> 24
24<script>
vendor: 543 bytes, lines 24-37
24 25 (function (w, d, s, l, i) { 26 w[l] = w[l] || []; 27 w[l].push({ 28 'gtm.start': 29 new Date().getTime(), event: 'gtm.js' 30 }); 31 var f = d.getElementsByTagName(s)[0], 32 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; 33 j.async = true; 34 j.src = 35 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 36 f.parentNode.insertBefore(j, f); 37 })(window, document, 'script', 'dataLayer', '
37GTM-KZF4S37
vendor: 8 bytes, lines 37-38
37'); 38
38</script>
38 39 <!-- End Google Tag Manager --> 40</head> 41<body class="scrolled"> 42<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 42-44
42 43<noscript> 44 <iframe src="https://www.googletagmanager.com/ns.html?id=
44GTM-KZF4S37
vendor: 84 bytes, lines 44-45
44" height="0" width="0" style="display:none;visibility:hidden"></iframe> 45</noscript>
46<!-- End Google Tag Manager (noscript) --> 47<header class="header"> 48 <div class="header__container js-header"> 49 <div class="header__wrapper"> 50 <a href="/"> 51 <h1 class="logo"> 52 <i class="icon icon-logo mr-1 mr-lg-2 align-top"></i> 53 <span class="logo__label logo__header"><em>RoadRunner</em></span> 54 </h1> 55 </a> 56 <div style="display: flex; align-items: center"> 57 </div> 58 <button class="header-nav-toggle js-header-nav-toggle" type="button" aria-label="Toggle Navigation"></button> 59 </div> 60 <nav class="header-nav"> 61 <div class="header-nav__wrapper"> 62 <a class="header-nav__item" href="/features" tabindex="0">Features</a> 63 <a class="header-nav__item" href="https://github.com/roadrunner-server/" tabindex="0" target="_blank" rel="noopener noreferrer">GitHub</a> 64 <a class="header-nav__item" href="https://docs.roadrunner.dev" tabindex="0">Documentation</a> 65 <a class="header-nav__item" href="https://discord.gg/spiralphp" tabindex="0" target="_blank" rel="noopener noreferrer">Discord</a> 66 </div> 67 </nav> 68 </div> 69</header> 70 71 72 <section class="hero-section bd-gradient"> 73 <div class="container"> 74 <div class="row no-gutters justify-content-center align-items-center"> 75 <div class="col-md-6 text-left text-white"> 76 <h1 class="text-white">Modernizing PHP Applications with Golang</h1> 77 <p>RoadRunner is a high-performance PHP application server, load-balancer, and process manager 78 written in Golang.</p> 79 <div class="d-flex flex-column flex-sm-row align-items-center mt-sm-3 mt-md-6"> 80 <a href="https://github.com/spiral/roadrunner" class="btn btn-success btn-min-width mr-sm-4" target="_blank"> 81 <i class="icon icon-github font-size-lg"></i>GitHub 82 </a> 83 <div class="mt-4 mt-sm-2"> 84 <a class="github-button" href="https://github.com/spiral/roadrunner" target="_blank" data-show-count="true" data-size="large" aria-label="Star spiral/roadrunner on GitHub"> 85 Star 86 </a> 87 </div> 88 </div> 89 </div> 90 <div class="col-md-6 d-none d-md-block hero-image"> 91 <img class="mw-100" src="images/roadrunner/illustration_section.png" srcset="images/roadrunner/illustration_section.png 1x, images/roadrunner/[email protected] 2x" alt=""/> 92 </div> 93 </div> 94 </div> 95 </section> 96 <div class="bg-gradient-light"> 97 <section class="info-section"> 98 <div class="container"> 99 <div class="px-3 py-4 info-block bg-white shadowed-block"> 100 <div class="row"> 101 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 102 <div class="img-wrapper d-flex align-items-center"> 103 <img class="mw-100 mh-100" src="images/roadrunner/01.svg" alt="Production Ready" title="Production Ready"/> 104 </div> 105 <h3>Production Ready</h3> 106 <p> 107 RoadRunner can be installed and used in production right away for even the biggest 108 applications under constant load. 109 </p> 110 </div> 111 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 112 <div class="img-wrapper d-flex align-items-center"> 113 <img class="mw-100 mh-100" src="images/roadrunner/02.svg" alt="High Performance" title="High Performance"/> 114 </div> 115 <h3>High Performance</h3> 116 <p> 117 RoadRunner utilizes goroutines and the multi-threading capabilities of Golang to bring 118 maximum performance to PHP applications. 119 </p> 120 </div> 121 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 122 <div class="img-wrapper d-flex align-items-center"> 123 <img class="mw-100 mh-100" src="images/roadrunner/03.svg" alt="Works Everywhere" title="Works Everywhere"/> 124 </div> 125 <h3>Works Everywhere</h3> 126 <p> 127 You can download or compile RoadRunner binaries that work on Mac OS, Windows, Linux, 128 FreeBSD, and ARM. 129 </p> 130 </div> 131 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 132 <div class="img-wrapper d-flex align-items-center"> 133 <img class="mw-100 mh-100" src="images/roadrunner/04.svg" alt="Golang Extensions" title="Golang Extensions"/> 134 </div> 135 <h3>Golang Extensions</h3> 136 <p> 137 RoadRunner provides a flexible framework that allows you to integrate any Golang 138 library with your application using Goridge RPC protocol. 139 </p> 140 </div> 141 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 142 <div class="img-wrapper d-flex align-items-center"> 143 <img class="mw-100 mh-100" src="images/roadrunner/05.svg" alt="Rich Error Management" title="Rich Error Management"/> 144 </div> 145 <h3>Rich Error Management</h3> 146 <p> 147 RoadRunner supports effective application, server and protocol error handling. You can 148 also connect custom handlers or reporters like Sentry, Prometheus, etc. 149 </p> 150 </div> 151 <div class="col-md-6 col-lg-4 p-4 p-lg-5 text-left"> 152 <div class="img-wrapper d-flex align-items-center"> 153 <img class="mw-100 mh-100" src="images/roadrunner/06.svg" alt="HTTP/2, gRPC, PSR-7" title="HTTP/2, gRPC, PSR-7"/> 154 </div> 155 <h3>HTTP/2, gRPC, PSR-7</h3> 156 <p> 157 RoadRunner offers a versatile foundation library that allows for running your 158 application under HTTP/2, gRPC, Queue, etc. 159 </p> 160 </div> 161 </div> 162 </div> 163 </div> 164 </section> 165 </div> 166 <section class="contacts-section bd-gradient"> 167 <div class="container"> 168 <div class="contact-form-block shadowed-block"> 169 <h4 class="mb-4">Contact us</h4> 170 <form action="/signup/contact" id="js-feedback-form" data-success="Thank y
170ou for contacting us! We will respond shortly." data-error="Something went wrong" class="text-left js-form"> 171 <div class="row js-form-content"> 172 <div class="col-md-6"> 173 <div class="form-group"> 174 <label class="control-label" for="name">Name</label> 175 <div class="controls js-input-block"> 176 <input type="text" name="name" class="form-control form-input js-form-input captcha-init" placeholder="Your name"/> 177 <span class="input-block__error">Please, enter your name</span> 178 </div> 179 </div> 180 </div> 181 <div class="col-md-6"> 182 <div class="form-group"> 183 <label class="control-label" for="email"> 184 Email 185 </label> 186 <div class="controls js-input-block"> 187 <input type="email" inputmode="email" id="email" name="email" class="form-control form-input js-form-input" placeholder="Your email" data-error="Please enter your email."/> 188 <span class="input-block__error">Please, enter valid email</span> 189 </div> 190 </div> 191 </div> 192 <div class="col-md-12"> 193 <div class="form-group js-input-block"> 194 <label class="control-label" for="feedback"> 195 Message 196 </label> 197 <textarea id="feedback" name="feedback" class="form-control js-form-input" placeholder="Type your message hereâ¦"></textarea> 198 <span class="input-block__error">Please, enter your message</span> 199 </div> 200 <input id="feedback-captcha" type="hidden" class="js-form-input" name="captcha"/> 201 <div class="text-center"> 202 <button type="button" class="btn btn-min-width btn-success js-ripple" onclick="generateToken('feedback-form-submit-btn', 'feedback-captcha')"> 203 <i class="icon icon-submit"></i>Submit 204 </button> 205 <button type="submit" style="display: none" id="feedback-form-submit-btn"></button> 206 </div> 207 </div> 208 </div> 209 <div class="feedback-form__result-layout feedback-form__result hide js-form-result"> 210 <div class="result_success result_success--icon-check hide js-result-success"> 211 <div class="result_success__message"> 212 <p class="result_success__title result_success__title--large">Thank You!</p> 213 <p class="result_success__desc">Your feedback has been submitted.</p> 214 </div> 215 </div> 216 <div class="feedback-form__msg-error hide js-result-error"></div> 217 </div> 218 </form> 219 </div> 220 </div> 221 </section> 222 <section class="section-products"> 223 <div class="container"> 224 <div class="section__wrapper"> 225 <div class="advantage"> 226 <h2 class="advantage__heading">Meet other Spiral Scout products</h2> 227 <p class="advantage__brief"> 228 Explore new ways to speed up your projects 229 </p> 230 </div> 231 <div class="tile__group"> 232 <div class="tile"> 233 <div class="tile__header"> 234 <div class="tile__icon tile__icon--framework"></div> 235 <h3 class="tile__title">Spiral Framework</h3> 236 </div> 237 <div class="tile__content"> 238 <div class="tile__subtitle">High-Performance PHP/Go Framework</div> 239 <div class="tile__text"> 240 Born out of real-world software development projects, Spiral Framework is a modern PHP framework designed to power faster, cleaner, superior software development. 241 </div> 242 </div> 243 <div class="tile__action"> 244 <a class="btn btn-success" href="https://spiral.dev" target="_blank">Learn More</a> 245 </div> 246 </div> 247 <div class="tile"> 248 <div class="tile__header"> 249 <div class="tile__icon tile__icon--cycleorm"></div> 250 <h3 class="tile__title">Cycle ORM</h3> 251 </div> 252 <div class="tile__content"> 253 <div class="tile__subtitle">DataMapper ORM and Data Modelling engine</div> 254 <div class="tile__text"> 255 The ORM provides flexible configuration options to model datasets, a powerful query builder, and supports dynamic mapping schemas. 256 </div> 257 </div> 258 <div class="tile__action"> 259 <a class="btn btn-success" href="https://cycle-orm.dev" target="_blank">Learn More</a> 260 </div> 261 </div> 262 </div> 263 </div> 264 </div> 265 </section> 266 267<footer class="footer"> 268 <div class="footer__main"> 269 <div class="footer__wrapper">
270 <div class="footer__column footer__column--about"> 271 <a href="/" class="logo logo-small"> 272 <i class="icon icon-logo mr-1 mr-lg-2 align-top"></i> 273 <span class="logo__label"><em>RoadRunner</em></span> 274 </a> 275 276 <div class="footer-sponsor"> 277 <p class="footer-sponsor__title">Our sponsor</p> 278 <a href="https://spiralscout.com" class="footer-sponsor__logo" target="_blank"><span>Spiral Scout</span></a> 279 </div> 280 </div> 281 <div class="footer__column"> 282 <h4 class="footer__title">Product</h4> 283 <nav class="footer-nav"> 284 <a class="footer-nav__item" href="https://docs.roadrunner.dev">Documentation</a> 285 <a class="footer-nav__item" href="https://github.com/roadrunner-server/" target="_blank">GitHub</a> 286 </nav> 287 </div> 288 <div class="footer__column"> 289 <h4 class="footer__title">Other products</h4> 290 <nav class="footer-nav"> 291 <a class="footer-nav__item" href="https://wippy.ai/" target="_blank">Wippy.ai</a> 292 <a class="footer-nav__item" href="https://spiral.dev/" target="_blank">Spiral Framework</a> 293 <a class="footer-nav__item" href="https://cycle-orm.dev/" target="_blank">Cycle ORM</a> 294 </nav> 295 </div> 296 <div class="footer__column footer__column--subscribe"> 297 <h4 class="footer__title">Interested in receiving news about RoadRunner?</h4> 298 <p class="footer__text">Enter your email for updates. No spam.</p> 299 <form action="/signup/subscribe" id="js-footer-form" class="footer-subscribe js-form"> 300 <div class="js-form-content"> 301 <div class="input-block js-input-block"> 302 <input class="input-block__input footer-subscribe__input js-form-input captcha-init" type="email" name="email" aria-label="E-mail" placeholder="Enter your e-mail"/> 303 <span class="input-block__error">Please, enter valid email</span> 304 </div> 305 <button class="footer-subscribe__button js-ripple" type="button" onclick="generateToken('subscribe-form-submit-btn', 'subscribe-captcha')">Subscribe</button> 306 <button type="submit" style="display: none" id="subscribe-form-submit-btn"></button> 307 </div> 308 <div class="subscribe-form__result hide js-form-result"> 309 <div class="result_success result_success--icon-green js-result-success"> 310 <div class="result_success__message result_success__message--footer"> 311 <p class="result_success__title result_success__title--small">Thanks for subscribing to our newsletter</p> 312 <p class="result_success__desc result_success__desc--small">You should receive a confirmation email soon.</p> 313 </div> 314 </div> 315 </div> 316 <input id="subscribe-captcha" type="hidden" class="js-form-input" name="captcha"/> 317 </form> 318 </div> 319 </div> 320 </div> 321 <div class="footer__copyright">© 2026 RoadRunner</div> 322
322<script type="text/javascript"> 323 var reCaptchaFocus = function() { 324 var script = document.createElement('script'); 325 script.type = 'text/javascript'; 326 script.src = '//google.com/recaptcha/api.js?render=6Le2tlIbAAAAAJ0992-ztMZWEWfp8hD9y38Hes6w'; 327 document.getElementsByTagName('head')[0].appendChild(script); 328 for (var i = 0; i < document.querySelectorAll('.captcha-init').length; i++) { 329 document.querySelectorAll('.captcha-init')[i].removeEventListener('focus', reCaptchaFocus); 330 } 331 }; 332 for (var i = 0; i < document.querySelectorAll('.captcha-init').length; i++) { 333 document.querySelectorAll('.captcha-init')[i].addEventListener('focus', reCaptchaFocus, false); 334 } 335 336 function generateToken(btnId, captchaId) { 337 var recaptchaInterval = setInterval(function() { 338 if( !window.grecaptcha || !window.grecaptcha.execute ) { return; } 339 clearInterval( recaptchaInterval ); 340 grecaptcha.execute('6Le2tlIbAAAAAJ0992-ztMZWEWfp8hD9y38Hes6w').then(function(token) { 341 document.querySelector('#' + captchaId).value = token; 342 document.querySelector('#' + btnId).click(); 343 }); 344 }, 100 ); 345 } 346 </script>
346 347</footer> 348
349<script src="/resources/roadrunner/home.e808c8ae089147a1c897.js"></script>
349 350 351 352
352<script type="text/plain" data-cookiescript="accepted" data-cookiecategory="targeting"> 353 _linkedin_partner_id = "1856988"; 354 window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; 355 window._linkedin_data_partner_ids.push(_linkedin_partner_id); 356 </script>
356 357
357<script type="text/plain" data-cookiescript="accepted" data-cookiecategory="targeting"> 358 (function () { 359 var s = document.getElementsByTagName("script")[0]; 360 var b = document.createElement("script"); 361 b.type = "text/javascript"; 362 b.async = true; 363 b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; 364 s.parentNode.insertBefore(b, s); 365 } 366 )(); 367 </script>
367 368 <noscript> 369 <img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1856988&fmt=gif" data-cookiescript="accepted"/> 370 </noscript> 371 372 373</body> 374</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.