Libevent は、C 言語で書かれた軽量のオープンソースの高性能 I/O フレームワークであり、さまざまな I/O 関数をサポートしています。多重化テクノロジ: epoll、poll、dev/poll、select、kqueue など、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