php 的 inotify 扩展提供了监控文件或目录变化的功能,可以用来实现,服务的热更新,或安全监控。

具体使用方法参考文档:https://www.php.net/manual/zh/ref.inotify.php

下面介绍 inotify 扩展编译安装步骤:

1、下载 inotify 扩展

访问 http://pecl.php.net/package/inotify 根据你php的版本号下载对应的扩展包

2、解压

下载完成后解压

tar -zxvf inotify-3.0.0.tgz

进入目录

cd inotify-3.0.0

3、安装

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --enable-inotify

make 

sudo make install

编译完毕后会生成一个 inotify.so 文件

4、修改php.ini

sudo su

echo "extension=inotify.so" >> /usr/local/php/etc/php.ini

之后重启 php-fpm

5、验证 inotify 安装完成

php -m | grep inotify


对于如何基于 inotify 扩展实现服务的热更新可参考文档:https://github.com/walkor/workerman-filemonitor-inotify/blob/master/Applications/FileMonitor/start.php