PHP具有inotify
扩展名,但HHVM不支持它。
如何在HHVM上至少监视IN_CLOSE_WRITE
事件的文件?
<?php // sample inotify code for PHP
$fd = inotify_init();
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);
touch(__FILE__); // generate an event
$events = inotify_read($fd);
var_dump($events);
答案 0 :(得分:3)
正如您所发现的,HHVM目前不支持 inotify 扩展。 HHVM社区可能会编写支持API的HNI扩展。 HHVM已经在内部使用了inotify,用于其#34; statcache&#34;代码(例如用于缓存lstat()信息)。因此,已经设置了构建环境来检测inotify的可用性。利用这一点可以使编写本机扩展比从头开始更容易。
在此之前,一种替代方法是将watchman与您的PHP代码结合使用。在推模型中,守望者根据您之前配置的triggers执行PHP脚本。在拉/轮询模型中,您可以通过套接字query守望者。使用watchman的一个优点是支持比Linux更多的操作系统。使用watchman与本机inotify扩展的性能将取决于工作负载。