介绍本扩展提供了Libev库——一个用C语言编写的高性能全功能事件循环。libev是一个事件循环:一个寄存器注册了某些事件(比如一个文件描述符被读取或者超时发生),它会管理这些事件源并向程序提供事件。为此,进程(或线程)的控制必须或多或少地通过执行事件循环处理程序来完成,然后通过回调机制传递事件。您通过注册所谓的事件观察器来记录某些事件,然后通过启动观察器将它们交给Libev。注意:此扩展在Windows平台上不可用。安装phpextensionevcompileevextension#viahttp://pecl.php.net/package/ev#选择你自己对应的php版本下载,我会演示php>=5.4wgethttps://pecl.php.net/get/ev-1.0.4.tgztarzxvfev-1.0.4.tgzcdev-1.0.4./configuremake&&makeinstallsimpletestphp-r"var_dump(class_exists('EvTimer'));";#输出:bool(true)表示EvTimer安装正常。demoevtimer.phpcodestop();//后面的代码还是会执行}//file_put_contents("./xx.log",$nowIter.microtime(true).PHP_EOL,8);echo"w1execution,currentiter:".$nowIter.PHP_EOL;});Ev::run();echo"END".PHP_EOL;//事件轮询结束后才会执行最后一段代码Executephpevtimer.php执行结果w1执行,currentiter:1w1执行,currentiter:2w1执行,currentiter:3w1执行,currentiter:4w1执行,currentiter:5结束
