Libevent est un framework d'E/S open source léger et hautes performances écrit en langage C, prenant en charge une variété de technologies de multiplexage d'E/S : epoll, poll, dev/poll, select et kqueue, etc. ; prend en charge les événements tels que les E/S, les minuteries et les signaux ; enregistre les priorités des événements. PHP fournit les extensions correspondantes libevent et Event.
Par rapport à libevent ext, event ext a de meilleures performances et une API plus complète, ce qui nous permet d'utiliser Libevent de manière plus conviviale.
Installer la bibliothèque Libevent
L'extension d'événement php dépend de la bibliothèque Libevent et doit d'abord être compilée et installée (notez qu'il s'agit de la bibliothèque Libevent, pas de l'extension libevent).
git clone --depth=1 https://github.com/nmathewson/Libevent.git cd Libevent ./autogen.sh ./configure --prefix=/usr/local/libevent make && make install
Installer l'extension d'événement
Vous pouvez l'utiliser directement pecl
Installer
pecl install event downloading event-2.5.3.tgz ... Starting to download event-2.5.3.tgz (140,913 bytes) ..............................done: 140,913 bytes 50 source files, building running: phpize Configuring for: PHP Api Version: 20180731 Zend Module Api No: 20180731 Zend Extension Api No: 320180731 Enable internal debugging in Event [no] : Enable sockets support in Event [yes] : libevent installation prefix [/usr] : /usr/local/libevent ... Build process completed successfully Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/event.so' install ok: channel://pecl.php.net/event-2.5.3 Extension event enabled in php.ini
Voir les résultats de l'installation
[root@localhost ~]# php --ri event event Event support => enabled Sockets support => enabled Debug support => disabled Extra functionality support including HTTP, DNS, and RPC => enabled OpenSSL support => enabled Thread safety support => disabled Extension version => 2.5.3 libevent2 headers version => 2.2.0-alpha-dev