I’m working on ZealPHP (https://php.zeal.ninja, MIT), an open-source PHP framework built on OpenSwoole.
The idea is to keep the simple Apache/LAMP style PHP mental model, but modernise the runtime: PHP can handle HTTP, WebSocket, SSE, sessions, shared memory, timers, and task workers from one long-running process.
Greenfield, it's working great. For legacy code, the migration model I’m exploring is:
OpenSwoole front-of-house, PHP-FPM-style back-of-house for legacy code, and a coroutine-native path for new code. Three lanes, one server.
So in one day, all existing traditional PHP apps can have an asynchronous runtime! Hoping that I am laying the right foundations? Or not? Help me understand!
I also made a handcrafted Learn section where you build a small Personal Notes + AI Chat app + Multi-Player Tic-Tac-Toe step by step:
Can it be used easily for streaming things other than AI tokens? Long-running progress updates, log tails, SSE for webhook fanout, the OpenSwoole base seems like it should support these but curious how friction-free that is in practice.
Yes.. for all! Its a PHP application server! We created a custom C extension to solve all long running caveats, including session support, superglobal support! Its friction free, and coroutines safe!
The idea is to keep the simple Apache/LAMP style PHP mental model, but modernise the runtime: PHP can handle HTTP, WebSocket, SSE, sessions, shared memory, timers, and task workers from one long-running process.
Greenfield, it's working great. For legacy code, the migration model I’m exploring is:
OpenSwoole front-of-house, PHP-FPM-style back-of-house for legacy code, and a coroutine-native path for new code. Three lanes, one server.
So in one day, all existing traditional PHP apps can have an asynchronous runtime! Hoping that I am laying the right foundations? Or not? Help me understand!
I also made a handcrafted Learn section where you build a small Personal Notes + AI Chat app + Multi-Player Tic-Tac-Toe step by step:
https://php.zeal.ninja/learn
GitHub: https://github.com/sibidharan/zealphp
After feedback from some senior PHP devs, I tightened the framework core and it now passes PHPStan level 10. Actively developing!
Still looking for feedbacks before Show HN