libevent est une bibliothèque réseau déclenchée par des événements, adaptée à diverses plates-formes telles que Windows, Linux, Freebsd, etc., et utilise en interne des appels système tels que select, poll, epoll et kqueue pour gérer les mécanismes d'événements. Apprenons avec l'éditeur comment installer l'extension Libevent.
1. Introduction à libevent
libevent est une bibliothèque réseau déclenchée par des événements, adaptée à Windows, Linux, Freebsd et d'autres plates-formes. Les appels système tels que poll, epoll et kqueue gèrent les mécanismes d'événements. Libevent est multiplateforme et offre des performances extraordinaires. Il est piloté par des événements comme nodejs ; site officiel : http://libevent.org/
Dernière version stable
https://github.com/downloads/libevent/libevent/libevent - 2.0.16-stable.tar.gz
Modules principaux :
Cadre de traitement des événements
Module moteur d'événements
Module de gestion des tampons
Module de traitement du signal
php lui-même ne prend pas en charge le multi-threading et php ne peut pas bien implémenter le mécanisme de concurrence. Les fonctions pcntl (contrôle de processus), l'extension libevent, le package de socket et le système de flux fournis par Pecl peuvent facilement développer des applications réseau hautes performances et à haute concurrence à l'aide de PHP.
Exemple d'application simple : Pcntl fork n Workers. Une fois que le processus maître a reçu la demande, les informations de traitement sont envoyées au programme de travail et celui-ci les renvoie au client après traitement. Le processus principal peut définir le nombre de travailleurs, c'est-à-dire la taille de n, en fonction du degré de concurrence, surveiller les données des travailleurs et démarrer davantage de processus lorsqu'ils sont insuffisants. Identique au principe de nginx.
Pièce jointe : cadre de programmation réseau Php
http://code.google.com/p/swoole/downloads/list
Pourquoi devriez-vous apprendre Libevent
Le serveur http peut être considéré comme une application classique de libevent. Vous pouvez trouver la méthode d'écriture standard de http sur libevent. Le serveur http non bloquant est l'entrelacement du traitement des sockets et du traitement du protocole http. Apprendre Libevent peut vous aider à améliorer vos compétences en programmation. En plus de la programmation réseau, le code de Libevent contient de nombreuses techniques de conception utiles et des structures de données de base, telles que le masquage d'informations, les pointeurs de fonction et le polymorphisme en langage C, liés. les listes, les tas, etc., contribuent tous à améliorer ses compétences en programmation [1]. Trois types de traitement des requêtes :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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!