Sie geben nicht an, welche Architekturen von der Erweiterung unterstützt werden sollen. Aber wenn Linux nur eine Option ist, können Sie inotify verwenden, was:
php-inotifytools ist eine weitere mögliche Erweiterung.
Hier ist ein umfangreicher, in sich abgeschlossener Artikel , der zeigt, wie inotify funktioniert und wie benutzt man die C API.
Nach dem Fazit von Robert Loves Artikel: Introtifizieren , inotify hat eine sehr gute Leistung:
inotify ist ein einfaches, aber leistungsstarkes Dateiänderungs-Benachrichtigungssystem mit eine intuitive Benutzeroberfläche, hervorragende Leistung, Unterstützung für viele verschiedene Veranstaltungen und zahlreiche Features. inotify wird derzeit verwendet verschiedene Projekte, darunter Beagle, eine erweiterte Desktop-Indexierung System und Gamin, ein FAM Ersatz.
Robert Love ist ein angesehener Linux-Kernel-Hacker und Autor des Nachschlagewerks Linux-Kernel-Entwicklung (die ich zufällig besitze).
Im Moment wird Libevent die stabilste Sache sein, die Sie für PHP bekommen können. Es unterstützt epoll als Backend.
Es gibt auch eine experimentelle Erweiterung für libev . Es ist weniger stabil als das Libevent, hat aber eine schönere OO API.
Es gibt eine PECL-Erweiterung mit den Klassen Event
und EventBase
, die mit mehreren Dingen und auch mit epoll
arbeiten können.
Siehe: Ссылка
Entschuldigung, ich kann Ihnen kein anderes Beispiel geben, als Sie auf dem Link finden, weil ich noch nicht damit gearbeitet habe.
Die EventBase-Klasse repräsentiert die Event-Basisstruktur von libevent. Es hält eine Menge von Ereignissen und kann abfragen, um festzustellen, welche Ereignisse aktiv sind.
Jede Ereignisbasis verfügt über eine Methode oder ein Back-End, das zur Bestimmung verwendet wird Welche Ereignisse sind bereit? Die anerkannten Methoden sind: Auswählen, Abfragen, epoll, kqueue, devpoll, evport und win32.
Konfigurieren der zu verwendenden Ereignisbasis oder Vermeiden spezifischer Back-End-EventConfig Klasse kann verwendet werden.