Heim >Backend-Entwicklung >PHP-Problem >So installieren Sie die Libevent-Erweiterung für PHP

So installieren Sie die Libevent-Erweiterung für PHP

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-06-30 15:46:041967Durchsuche

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.

So installieren Sie die Libevent-Erweiterung für PHP

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:

    Verbindungseingabe verzweigt einen neuen Prozess
  • Verbindungseingabe pthread_create
  • Verbindungseingabe wirft ein ereignisbasiertes Array; Hauptprozess erledigt nicht blockierende Dinge;
  • 3. Installation des PHP-Libevent-Erweiterungsmoduls

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-Tutorial

Das 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:imooc.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen