如何在 PHP7.4 中使用 inotify
Posted
技术标签:
【中文标题】如何在 PHP7.4 中使用 inotify【英文标题】:How to use inotify with PHP7.4 【发布时间】:2019-12-19 14:03:20 【问题描述】:我在 php 7.3.x 中使用 PECL 扩展 inotify
没有任何问题。我更新到 PHP 7.4 但我没有成功获得为构建 20190902
编译的 inotify
扩展,因为 PECL 命令 sudo pecl upgrade inotify
说有
无需升级
那么我怎样才能获得这个扩展呢?
【问题讨论】:
【参考方案1】:我通过从源代码编译它来工作。可以下载最新版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
以引用该模组。所以它看起来像这样:
$ 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
等。
【讨论】:
谢谢,如果.... 是否可以轻松卸载,或者我必须记住我复制该库的位置,我可能会尝试一下?因为我想我无法通过apt
或apt-get
删除它...
幸运的是,他们添加了make uninstall
规则,尽管我不认为他们那么慷慨。您可以使用make -n install
检查将要安装的内容,并逐步详细说明它将做什么但不执行任何操作。可能是为了卸载,虽然你可以从/usr/lib/php/20190902/inotify.so
中删除编译的库,这应该足够了。【参考方案2】:
Inotify 的最后一个稳定版本(2020-12-18)似乎可以毫无问题地安装 :D 我刚刚成功安装了 3.0.0 版! https://pecl.php.net/package/inotify
【讨论】:
以上是关于如何在 PHP7.4 中使用 inotify的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Inotify 和 libev 在文件夹中获取新添加的文件?