【发布时间】:2019-12-19 14:03:20
【问题描述】:
我在 PHP 7.3.x 中使用 PECL 扩展 inotify 没有任何问题。我更新到 PHP 7.4 但我没有成功获得为构建 20190902 编译的 inotify 扩展,因为 PECL 命令 sudo pecl upgrade inotify 说有
无需升级
那么我怎样才能获得这个扩展呢?
【问题讨论】:
我在 PHP 7.3.x 中使用 PECL 扩展 inotify 没有任何问题。我更新到 PHP 7.4 但我没有成功获得为构建 20190902 编译的 inotify 扩展,因为 PECL 命令 sudo pecl upgrade inotify 说有
无需升级
那么我怎样才能获得这个扩展呢?
【问题讨论】:
我通过从源代码编译它来工作。可以下载最新版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中删除编译的库,这应该足够了。
Inotify 的最后一个稳定版本(2020-12-18)似乎可以毫无问题地安装 :D 我刚刚成功安装了 3.0.0 版! https://pecl.php.net/package/inotify
【讨论】: