PHPStreamServer is an application server and process manager written entirely in PHP. It combines HTTP serving, worker supervision, scheduled tasks, logging and metrics in one runtime. Applications stay loaded between requests, with asynchronous execution on the Revolt event loop and AMPHP.
Version 0.9 is the project's biggest release so far. Architecturally, PHPStreamServer now requires FFI, which lets it call native OS APIs directly. That enables Unix-socket peer credential verification, parent-death signaling and native file monitoring.
Workers and scheduled tasks can now be registered and removed at runtime. The message-bus commands are now a public API, so workers can send requests straight to the master process, for instance to start or stop on-demand workers.
The Unix-socket message bus was redesigned with security as the main focus. It validates peer credentials and enforces source authorization, which blocks unprivileged local users from managing a server that runs under a privileged account. Deserialization is restricted to reject unsafe payloads.
File monitoring now relies on inotify on Linux and FSEvents on macOS, with polling as a fallback. On Linux and FreeBSD, workers use OS-level parent-death signaling and terminate instead of lingering as orphans when the master process crashes. Daemon startup waits for the master to initialize before reporting success.
Worker startup, shutdown, crash reporting and log delivery are more reliable, and the supervisor reports non-zero exits and signal-based termination. The scheduler gained named weekdays and months, presets such as @daily, and fractional-second delays. Per-process network traffic monitoring now sends only batched traffic deltas through the bus, cutting IPC overhead.
The documentation site at phpstreamserver.dev was refreshed, and release notes live on the GitHub repository. The author stresses that PHPStreamServer is still experimental and not recommended for production, and asks for feedback from developers using long-running PHP, FrankenPHP, RoadRunner or OpenSwoole.




Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Nothing arrived? Check your spam folder — and mark the mail as "Not spam" so it lands in your inbox next time.