libevent ist eine durch Ereignisse ausgelöste Netzwerkbibliothek, die für verschiedene Plattformen wie Windows, Linux, FreeBSD usw. geeignet ist und intern Systemaufrufe wie Select, Poll, Epoll, Kqueue usw. verwendet, um Ereignismechanismen zu verwalten. Lassen Sie uns mit dem Editor lernen, wie man die Libevent-Erweiterung installiert.
1. Einführung in libevent
libevent ist eine ereignisgesteuerte Netzwerkbibliothek, die für verschiedene Plattformen wie Windows, Linux, FreeBSD usw. geeignet ist und intern Systemaufrufe wie Select, Poll, Epoll usw. verwendet kqueue zur Verwaltung von Ereignismechanismen. Libevent ist plattformübergreifend und bietet eine außergewöhnliche Leistung. Es ist ereignisgesteuert wie Nodejs; offizielle Website: http://libevent.org/
Die neueste stabile Version
https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar .gz
Hauptmodule:
Ereignisverarbeitungs-Framework
Event-Engine-Modul
Pufferverwaltungsmodul
Signalverarbeitungsmodul
PHP selbst unterstützt kein Multithreading und PHP kann den Parallelitätsmechanismus nicht gut implementieren. Mit den von Pecl bereitgestellten Funktionen pcntl (Prozesssteuerung), Libevent-Erweiterung, Socket-Paket und Stream-System können Sie mithilfe von PHP problemlos leistungsstarke Netzwerkanwendungen mit hoher Parallelität entwickeln.
Einfaches Anwendungsbeispiel: Pcntl fork n Workers. Nachdem der Master-Prozess die Anforderung erhalten hat, werden die Verarbeitungsinformationen an das Worker-Programm gesendet, und der Worker sendet sie nach der Verarbeitung an den Client zurück. Der Masterprozess kann die Anzahl der Worker, also die Größe von n, entsprechend dem Umfang der Parallelität festlegen, die Daten der Worker überwachen und bei unzureichender Anzahl weitere Prozesse starten. Dasselbe wie das Nginx-Prinzip.
Anhang: PHP-Netzwerkprogrammier-Framework
http://code.google.com/p/swoole/downloads/list
2. Warum Libevent lernen? Man kann sagen, dass der HTTP-Server eine klassische Anwendung von Libevent ist. Die Standard-Schreibmethode von http finden Sie bei libevent. Der nicht blockierende HTTP-Server ist die Verflechtung von Socket-Verarbeitung und HTTP-Protokollverarbeitung.
Das Erlernen von Libevent kann Ihnen helfen, Ihre Programmierkenntnisse zu verbessern. Zusätzlich zur Netzwerkprogrammierung verfügt der Code von Libevent über viele nützliche Entwurfstechniken und grundlegende Datenstrukturen, wie z. B. das Ausblenden von Informationen, Funktionszeiger, polymorphe Unterstützung in C-Sprache, verknüpfte Listen und Heap usw. , wird Ihnen helfen, Ihre eigenen Programmierkenntnisse zu verbessern [1].
Drei Arten der Anforderungsverarbeitung:
Curl –O https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz
Tar –zxvf libevent-2.0.16-stable.tar.gz Cd libevent-2.0.16-stable /usr/local/php/bin/phpize ./configure make make install vi /usr/local/php/etc/php.ini extension_dir=””; extension=libevent.so php –m | grep lib
Erfolgreich installiert
Empfohlenes Lernen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonSo installieren Sie die Libevent-Erweiterung für PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!