The Laravel Octane beta is now released—the highly-anticipated first-party package for running highly performant Laravel utilizing environments like Swoole and RoadRunner.
Early demos during Laracon showcased Octane reaching over 6,000 requests-per-second! Octane is considered beta, but the Laravel team is hard at work ensuring compatibility with first-party packages such as Jetstream, Horizon, Spark, etc.
Octane compatibility on first-party packages is looking good. ✅ pic.twitter.com/RA1yV0y03t
— Taylor Otwell 🪐 (@taylorotwell) April 5, 2021
We've also seen some early testing of Octane against third-party open-source packages in the Laravel community. Again, Octane is considered a beta state. The focus of the effort thus far is making sure Octane is solid with the Laravel framework itself as well adjusting first-party packages.
A recurring theme we've noticed from the early feedback is that service providers need to use the $app
within the closure instead of the $this->app
instance:
// Apparently does not work with Octane at time of writing
$this->app->bind(CacheManager::class, function () {
return new CacheManager($this->app);
});
// Instead, reference the `$app` instance passed to the closure
$this->app->bind(CacheManager::class, function ($app) {
return new CacheManager($app);
});
You can learn more about this package, get full installation instructions, and view the source code on GitHub. Please test Octane out with your applications and packages, then provide detailed reports if you run into any issues. The notes section of the Octane documentation contains details to help package maintainers make their packages compatible with Octane.