RoadRunner
Spiral Framework
Our great sponsors
RoadRunner | Spiral Framework | |
---|---|---|
32 | 15 | |
7,676 | 1,690 | |
0.9% | 2.2% | |
9.2 | 9.5 | |
14 days ago | 22 days ago | |
Go | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RoadRunner
-
Performance benchmark of PHP runtimes
FrankenPHP
-
RoadRunner: High performance PHP app server, load balancer and process manager
why link to the old URL when linking to its redirected one is less confusing?
https://github.com/roadrunner-server/roadrunner#readme (MIT)
-
An Internet of PHP
Don't follow any advice to use Apache as a reverse proxy, or bundle php with a classic web server.
There are real application servers using an event loop by now, most notably Roadrunner (https://roadrunner.dev), FrankenPHP (https://frankenphp.dev), Laravel Octane (https://laravel.com/docs/10.x/octane#introduction), Swoole Bridge for Symfony (https://github.com/insidestyles/swoole-bridge-bundle).
In general, you can do a lot with OpenSwoole or Roadrunner. They are vastly superior (in a container scenario) to any other suggestion in this thread!
- RoadRunner: High-performance PHP application server written in Golang
- Go with PHP
- Call Go from PHP >8.0
-
Call GO from PHP 8.0
https://roadrunner.dev which golang php application server which can replace nginx +php fpm has a module for running golang via php using sockets.
-
I don’t get all the hate for PHP and at this point I am too afraid to ask.
You could also use something like EventMachine (In ruby), Twisted (Python), Node (JS) or ReactPHP (for PHP) that will use the language and turn it into a web application server, and then you'll have only one long running process that handle all your requests with shared memory. You could even use something more fancy like RoadRunner in the case of PHP.
-
Fast and reliable framework
Have you considered optimizing the Laravel app? I love Go, but full rewrite for such low rate sounds overkill. Have you looked at the RoadRunner PHP application sample, for example?
-
Yii Dependency Injection.
Has state resetter for long-running workers serving multiple requests such as RoadRunner or Swoole.
Spiral Framework
- Spiral – High-Performance PHP Framework
-
RoadRunner: High-performance PHP application server written in Golang
From the same developers :
PHP framework : https://spiral.dev/
ORM library : https://cycle-orm.dev/
- In your opinion, which existing PHP framework can become as popular as Symphony or Laravel?
- Any suggestions for lighter frameworks than Laravel?
-
Temporal PHP SDK: Scalable and resilent workflow orchestration on PHP
This SDK server is already available for RoadRunner 2.0+ and Spiral Framework users.
-
First version of PHP Templating Abstraction released
✅ Spiral (Twig, Blade, Latte, Plates, Smarty, Handlebars, Mustache, Spiral View)
-
Business complexity with performance
To give you some hint, you mention few of our instruments - RoadRunner, Cycle ORM. Accidentally, theese instruments are also part of our main battle framework - Spiral (https://github.com/spiral/framework), which we use for all of our commercial projects for over 12 years so far.
-
I like the PHP constant RAM characteristics under a load but struggle to find a semi-decent req/s PHP framework/library for API backends
Check https://github.com/spiral/framework - it would satisfy your perf requirements (roadrunner under the hood). We pushed it up to 250k on synthetic hello world, but in real world 20k are achievable without much hassle.
-
RoadRunner 2.11 - Application Server for PHP: Video tutorials, Kafka support
Yes, you are responsible for cleaning the memory after yourself. Most of modern frameworks can do it for you since they can control the state using DI. If you are looking for a more friendly way to manage memory take a look at https://github.com/spiral/framework It is Symfony like framework developed specifically for resident memory applications.
- Spiral: A High-Performance PHP/Go Framework
What are some alternatives?
Swoole - 🚀 Coroutine-based concurrency library for PHP
Laravel - Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Ubiquity - Ubiquity framework
laravel-swoole - High performance HTTP server based on Swoole. Speed up your Laravel or Lumen applications.
Symfony - The Symfony PHP framework
nginx-prometheus - Turn Nginx logs into Prometheus metrics
Workerman - An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols.
Phalcon - High performance, full-stack PHP framework delivered as a C extension.
traefik - The Cloud Native Application Proxy
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project