Maison  >  Article  >  développement back-end  >  Comment installer l'extension Libevent pour PHP

Comment installer l'extension Libevent pour PHP

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-06-30 15:46:041927parcourir

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.

Comment installer l'extension Libevent pour PHP

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 :

  • entrée de connexion fork un nouveau processus

  • entrée de connexion pthread_create

  • l'entrée de connexion lance un tableau basé sur des événements ; le processus principal effectue des tâches non bloquantes ;

3. Installation du module d'extension Php Libevent

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

Installation réussie

Apprentissage recommandé :

Tutoriel vidéo php

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer