Der PHP-Entwickler Edmond Dantes hat die Diskussion zu einem neuen RFC mit dem Titel „Concurrency Support in the PHP Engine“ (wiki.php.net/rfc/async_scheduler_abi) eröffnet. Der Vorschlag gibt der Zend Engine eine native Coroutinen-Repräsentation und eine austauschbare Scheduler-Komponente, die von Extensions implementiert werden kann. Es werden keine neuen PHP-Klassen, Funktionen, Konstanten oder Syntaxelemente eingeführt; ist kein Scheduler registriert, verhält sich PHP genau wie bisher.

Das RFC ist ausdrücklich nicht identisch mit dem zuvor diskutierten „True Async“-RFC, sondern ein minimaler, aus dieser Arbeit extrahierter Engine-Kern. Es definiert einen Aktivierungsvertrag, vom Engine ausgelöste Benachrichtigungen, einen Mechanismus zur Übernahme von Fibers durch einen Scheduler sowie coroutinenbezogenen Speicher. Nutzerseitige APIs wie spawn(), await() oder Channels blieben weiterhin Aufgabe von Extensions; True Async würde darauf lediglich als ein möglicher Anbieter aufsetzen.

Eine funktionierende Implementierung liegt bereits als Pull Request php/php-src#22561 auf GitHub vor, ebenfalls von Dantes eingereicht. Sie enthält eine im Quellbaum enthaltene Referenz-Scheduler-Extension namens ext/test_scheduler, standardmäßig deaktiviert, die alle Scheduler-Slots über gewöhnlichen Extension-Code füllt; die bestehenden PHP-Testsuiten sollen unverändert im schedulerlosen Modus in derselben Binärdatei laufen. Eine separate, nicht im Repository enthaltene Bridge-Extension implementiert einen Scheduler in reinem PHP und dient als Machbarkeitsnachweis.

Für bestehende Async-Bibliotheken erlaubt das Design, dass ein Scheduler bereits von ReactPHP, Revolt oder AMPHP gestartete Fibers übernimmt, pro Fiber und optional. Der neue coroutinenbezogene Speicher soll perspektivisch Funktionen wie ob_start() coroutinensicher machen. Dantes betont, dass der Vorschlag keine Goroutinen und keine echte Parallelität einführt – die Ausführung bleibt auf einen einzigen Betriebssystem-Thread beschränkt.