Sure, RR can't serve legacy PHP or WordPress (actually can, but that's not released yet), that's true. But the modern PHP ecosystem leaves lesser and lesser such a non-compatible scripts ;)
You don't need any framework or specific web-server to use RoadRunner. RoadRunner can be used with any modern framework, or let's say naked, using only the PSR-7 (which is framework-agnostic) worker for HTTP, but:
RR is not only HTTP, it is waaaay above that: Temporal.io support, various queue drivers, gRPC, TCP, KV, Native WebSockets/Broadcast support, distribute locks (without PHP extensions), etc.
RR doesn't need to be somehow specifically set-up. Nothing special, download -> use :)
Hey @kdunglas :) Nice project :) I just wanted to add a few notes:
> Roadrunner executes php-cli and connects it to its web server through GRPC;
RR communicates with the PHP process via pipes (stdin/out/err) via our protocol (similar to the IP protocol, we also have a tcp/unix-socket options and shared memory is coming soon). The RR server itself then has various options to connect to the world:
- gRPC (w/o the need to install the `gRPC-php` extension), HTTP (with a lot of different middleware), HTTPS, fCGI.
- Queues: kafka, rabbitmq, sqs, beanstalk, nats (with like priorities and so on)
- KV/noSQL: memcached, redis, boltdb, memory.
- Workflows: Temporal.
I might forget smt, but the main idea is to have a very extensible server. With very little knowledge about Go, you may extend it with your plugins and build your RR binary. Or even embed the RR server into your Go application (https://github.com/roadrunner-server/roadrunner/tree/master/...).