Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arnaud-lb/php-inotify
Inotify bindings for PHP 5, 7, and next
https://github.com/arnaud-lb/php-inotify
inotify php php-inotify
Last synced: about 2 months ago
JSON representation
Inotify bindings for PHP 5, 7, and next
- Host: GitHub
- URL: https://github.com/arnaud-lb/php-inotify
- Owner: arnaud-lb
- License: other
- Created: 2016-01-30T11:44:54.000Z (almost 9 years ago)
- Default Branch: 3.x
- Last Pushed: 2024-06-12T17:01:20.000Z (7 months ago)
- Last Synced: 2024-08-03T20:07:48.049Z (5 months ago)
- Topics: inotify, php, php-inotify
- Language: C
- Homepage: https://pecl.php.net/package/inotify
- Size: 27.3 KB
- Stars: 42
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-php-extensions - php-inotify - 封装 inotify,监控文件状态 (其他)
README
# PHP Inotify
Inotify bindings for PHP 5, PHP 7, and PHP 8
This extension exposes the inotify API and some additional functions.
## Install
* PHP 8: pecl install inotify
* PHP 7: pecl install inotify
* PHP 5: pecl install inotify-0.1.6## Documentation
Documentation is available at https://php.net/inotify
## Goal
The goal of this extension is to expose the raw inotify API to PHP, while being memory safe and preventing resource leaks.
## Streams
As the C inotify API returns file descriptors, this extension returns PHP streams.
This is useful for the following reasons:
### I/O Polling
The streams can be used with polling mechanisms such as ``stream_select()`` or event loops such as ReactPHP or AMPHP. It's also possible to make the streams unblocking with ``stream_set_blocking()``.
### Resource management
As the inotify file descriptors are owned by PHP streams, they are managed by PHP. This ensures that the file descriptors are eventually closed, which prevents descriptor leaks.