Introduction
phpDaemon — asynchronous server-side framework of network applications implemented in PHP using famous libevent which makes possible to handle hundreds and thousands of simultaneous connections.
Its master process spawns a bunch of worker-processes (workers) that run your applications. Each worker doesn't block (sleep) at all, and has event-driven architecture.
Designed for highload.
Main core features:
- Dynamic spawning workers
- Chroot & Chdir for workers
- Automatic graceful reloading user's scripts when it's updated.
- Graceful worker shutdown (and re-spawn if necessary) by the following limits: memory, query counter, idle time.
Also, you can build binary application server using compiler like PHC (http://phpcompiler.org/).
Out-of-Box
Network servers:
- HTTP server (supports multipart, uploads, etc)
- WebSocket server (supports latest protocol specification)
- FastCGI server
- FlashPolicy server — cross-domain policy at port 843
- Socks server.
- LockServer.
Network clients:
- MySQL client
- PostgreSQL client
- MongoDB client
- Memcache client
- Gearman client.
Web applications:
- ServerStatus — shows uptime and some other information
- WebSocketOverCOMET — allows to use WebSocketConnection in Javascript (COMET, long-polling)
- FileReader — allows to share static files.
Support and Community:
Github repository: github.com/kakserpom/phpdaemon
Mailing list: groups.google.com/group/phpdaemon
IRC: irc.freenode.org #phpdaemon
Maintainer — kak.serpom.po.yaitsam@gmail.com
The project is alive and grows fast, report bugs and they will be fixed very quickly.