一提到高并发,就没有办法绕开I/O复用,再具体到特定的平台linux, 就没办法绕开epoll. epoll为啥高效的原理就不讲了,感兴趣的同学可以自行搜索研究一下,也可以直接用现成的Swoole,原理一样都挺不错的。
php怎么玩epoll?首先得安装个libevent库,再装个event扩展或者libevent扩展就可以愉快地玩耍了.
有些人搞不清楚libevent库跟libevent扩展的区别,简单来说,libevent库是C语言对epoll的封装,跟PHP毛关系都没有;
libevent扩展就是PHP跟libevent库的沟通桥梁。实际上PHP的很多扩展就是干这个事的,有一些优秀的C语言库,PHP想直接拿来用,就通过PHP扩展的方式接入到PHP。
libevent扩展和event扩展随便选一个装,event扩展因为更面向对象一点。自己去http://pecl.php.net里面搜跟自己PHP版本对应的扩展,下好编译安装一下就OK了.电脑装了多个版本的PHP编译的时候注意一下,phpize的版本要对应上,别搞错了,典型的五步曲:
phpize
./configure
make
make install
php -m | grep even