tourze/workerman-file-monitor 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tourze/workerman-file-monitor

最新稳定版本:0.0.1

Composer 安装命令:

composer require tourze/workerman-file-monitor

包简介

Workerman文件监听服务

README 文档

README

English | 中文

PHP Version Require Latest Version Total Downloads Build Status Coverage Status License

A file monitoring service for Workerman projects, extracted from webman framework.

Features

  • Monitor file changes in specified directories
  • Support multiple file extensions
  • Auto reload when files are modified
  • Memory usage monitoring
  • PSR-3 logger support
  • Cross-platform support (Linux/Unix/Windows)

Installation

composer require tourze/workerman-file-monitor

Quick Start

<?php

use Tourze\Workerman\FileMonitor\FileMonitorWorker;
use Workerman\Worker;

// Create your Workerman worker
$worker = new Worker('http://0.0.0.0:8080');

// Initialize file monitor
new FileMonitorWorker(
    monitor_dir: '/path/to/your/code',  // Directory to monitor
    monitor_extensions: ['php'],        // File extensions to monitor
    memory_limit: '512M',               // Optional: memory limit
    logger: $logger                     // Optional: PSR-3 logger
);

Worker::runAll();

Dependencies

  • PHP >= 8.1
  • ext-posix
  • psr/log ^3|^2|^1
  • workerman/workerman ^5.1

Configuration

  • monitor_dir: Directory or array of directories to monitor
  • monitor_extensions: Array of file extensions to monitor (e.g., ['php', 'js'])
  • memory_limit: Memory limit for worker processes (default: 80% of php.ini memory_limit)
  • logger: PSR-3 compatible logger instance

Advanced Usage

Monitoring Multiple Directories

$monitor = new FileMonitorWorker(
    monitor_dir: ['/path/to/dir1', '/path/to/dir2'],
    monitor_extensions: ['php', 'html', 'js']
);

Using Custom Memory Limits

The memory_limit parameter accepts values in the format of '512M', '1G', etc. If not specified, it uses 80% of the value in php.ini.

Working with Loggers

The monitor works with any PSR-3 compatible logger:

$logger = new YourLogger();

$monitor = new FileMonitorWorker(
    monitor_dir: '/path/to/your/code',
    monitor_extensions: ['php'],
    logger: $logger
);

Notes

  • File monitoring is disabled in daemon mode
  • Requires exec() function to be enabled in PHP
  • Memory monitoring is only available on Linux/Unix systems
  • Minimum memory limit is 30MB

Contributing

Please see CONTRIBUTING.md for details.

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 307
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-24