如何在 PHP7.4 中使用 inotify

How to use inotify with PHP7.4

我使用 PECL 扩展 inotify 和 PHP 7.3.x 没有任何问题。我更新到 PHP 7.4 但我没有成功获得为构建 20190902 编译的 inotify 扩展,因为 PECL 命令 sudo pecl upgrade inotify 说有

Nothing to upgrade

那么我怎样才能获得这个扩展?

我通过从源代码编译得到它。您可以下载最新版本here(我相信应该是>=2.0.0)。

解压下载的.tgz,进入解压后的文件夹,然后继续执行以下命令:

phpize7.4  # this is the important command
./configure
make clean
make
make install

这将使用 20190902 编译库并将其安装在 /usr/lib/php/20190902:

$ ls /usr/lib/php/20190902/ | grep inotify
inotify.so

我相信你知道如何启用扩展;但如果您不这样做,首先您需要在 /etc/php/7.4/mods-available 中创建一个名为 inotify.ini 的文件,其中包含以下内容:extension=inotify.so 以便引用 mod。所以它看起来像这样:

$ cat /etc/php/7.4/mods-available/inotify.ini 
extension=inotify.so

那么您只需为版本 7.4 中的每个 SAPI 启用 mod:phpenmod -v 7.4 -s ALL inotify。大概然后重置php7.4-fpm,等等

看来最新稳定版的Inotify(2020-12-18)可以安装,没有任何问题:D 我刚刚成功安装了 3.0.0 版! https://pecl.php.net/package/inotify