Libevent는 C 언어로 작성된 경량 오픈 소스 고성능 I/O 프레임워크로 epoll, poll, dev/poll, select 및 kqueue와 같은 다양한 I/O 다중화 기술을 지원합니다. I/O, 타이머, 신호 등의 이벤트를 지원합니다. PHP는 해당 확장 libevent 및 Event를 제공합니다.
libevent ext와 비교하여 event ext는 더 나은 성능과 더 포괄적인 API를 제공하므로 Libevent를 더 친숙하게 사용할 수 있습니다.
Libevent 라이브러리 설치
php 이벤트 확장은 Libevent 라이브러리에 따라 다르며 먼저 컴파일하고 설치해야 합니다(libevent 확장이 아니라 Libevent 라이브러리라는 점에 유의하세요).
git clone --depth=1 https://github.com/nmathewson/Libevent.git cd Libevent ./autogen.sh ./configure --prefix=/usr/local/libevent make && make install
이벤트 확장 설치
직접 사용할 수 있습니다. pecl
설치
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
설치 결과 보기
[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