Re: PHP True Async RFC Stage 4
On Sun, Oct 5, 2025 at 7:51 AM Edmond Dantes <[email protected]> wrote:
> Good day, everyone. I hope you're doing well.
>
> I’m happy to present the fourth version of the RFC. It wasn’t just me
> who worked on it — members of the PHP community contributed as well.
> Many thanks to everyone for your input!
>
> https://wiki.php.net/rfc/true_async
>
> **What has changed in this version?**
>
> The RFC has been significantly simplified:
>
> 1. Components (such as TaskGroup) that can be discussed in separate
> RFCs have been removed from the current one.
> 2. Coroutines can now be created anywhere — even inside shutdown_function.
> 3. Added Memory Management and Garbage Collection section
>
> Although work on the previous API RFC was interrupted and we weren’t
> able to include it in PHP 8.5, it still provided valuable feedback on
> the Async API code.
>
> During this time, I managed to refactor and optimize the TrueAsync
> code, which showed promising performance results in I/O scenarios.
>
> A test integration between **NGINX UNIT** and the **TrueAsync API**
> was implemented to evaluate the possibility of using PHP as an
> asynchronous backend for a web server:
>
> https://github.com/EdmondDantes/nginx-unit/tree/true-async/src/true-async-php
>
> During this time, the project has come very close to beta status.
>
> Once again, I want to thank everyone who supported me during difficult
> times, offered advice, and helped develop this project.
>
> Given the maturity of both the code and the RFC, this time I hope to
> proceed with a vote.
>
> Wishing you all a great day, and thank you for your feedback!
>
Hi, I am so looking forward to this capability!
Just a quick question - other methods that tried to provide async/parallel
type functionality previously were only available via the CLI.
I can see a big opportunity for people running websites with Apache +
PHP-FPM where on each page request you do stuff like:
Call API 1 (e.g. external auth component)
Call API 2 (e.g. product catalogue)
Call API 3 (e.g. setup payment processor)
Am hoping that you could put these three calls within a Scope and therefore
have all three calls run at the same time, and only have to wait as long as
the slowest API, rather than the combination of all 3 response times.
I didn't see anything in the RFC about this, so just wanted to check.
Thanks,
Adam
Thread (11 messages)