PHPStreamServer ist ein vollständig in PHP geschriebener Application Server und Prozessmanager. Er vereint HTTP-Serving, Worker-Supervision, geplante Tasks, Logging und Metriken in einer Laufzeitumgebung. Anwendungen bleiben zwischen Requests geladen, asynchrone Ausführung läuft über den Revolt-Event-Loop und AMPHP.
Version 0.9 ist das größte Release des Projekts. Architektonisch setzt PHPStreamServer nun FFI voraus, um native OS-APIs direkt aufzurufen. Das ermöglicht die Prüfung von Peer-Credentials bei Unix-Sockets, Parent-Death-Signaling und natives Datei-Monitoring.
Worker und geplante Tasks lassen sich jetzt zur Laufzeit registrieren und entfernen. Die Message-Bus-Kommandos sind eine öffentliche API: Worker können Anfragen direkt an den Master-Prozess senden, etwa um On-Demand-Worker zu starten oder zu stoppen.
Der Unix-Socket-Message-Bus wurde mit Fokus auf Sicherheit neu gebaut. Er validiert Peer-Credentials und erzwingt Autorisierung der Quelle, sodass unprivilegierte lokale Nutzer keinen Server verwalten können, der unter einem privilegierten Konto läuft. Die Deserialisierung ist eingeschränkt und lehnt unsichere Payloads ab.
Das Datei-Monitoring nutzt nun inotify unter Linux und FSEvents unter macOS, mit Polling als Fallback. Unter Linux und FreeBSD nutzen Worker OS-seitiges Parent-Death-Signaling und beenden sich, statt als Waisen weiterzulaufen, wenn der Master abstürzt. Der Daemon-Start wartet auf die Initialisierung des Masters, bevor er Erfolg meldet.
Worker-Start, Shutdown, Crash-Reporting und Log-Zustellung arbeiten zuverlässiger, der Supervisor meldet Exit-Codes ungleich null und Terminierung durch Signale. Der Scheduler unterstützt benannte Wochentage und Monate, Presets wie @daily und Sekundenbruchteile als Verzögerung. Das Netzwerk-Traffic-Monitoring pro Prozess sendet nur noch gebündelte Traffic-Deltas über den Bus und senkt so den IPC-Overhead.
Die Dokumentationsseite phpstreamserver.dev wurde überarbeitet, Release Notes stehen im GitHub-Repository. Der Autor betont, dass PHPStreamServer weiterhin experimentell ist und nicht für Produktion empfohlen wird, und bittet Nutzer von Long-Running-PHP, FrankenPHP, RoadRunner oder OpenSwoole um Feedback.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.