PHPackages                             code-gopher/laravel-workerman - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. code-gopher/laravel-workerman

ActiveLibrary

code-gopher/laravel-workerman
=============================

使用 Workerman 加速 Laravel/Lumen 应用，常驻内存模式提升 5-20 倍性能

20PHP

Since Jan 29Pushed 3mo agoCompare

[ Source](https://github.com/code-gopher/laravel-workerman)[ Packagist](https://packagist.org/packages/code-gopher/laravel-workerman)[ RSS](/packages/code-gopher-laravel-workerman/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Workerman
=================

[](#laravel-workerman)

使用 Workerman 加速 Laravel/Lumen 应用，常驻内存模式提升 5-20 倍性能。

版本要求
----

[](#版本要求)

依赖版本PHP^7.2 | ^8.0Laravel^6.0Lumen^6.0Workerman^4.0特性
--

[](#特性)

- 🚀 **高性能**: 常驻内存，避免重复加载框架
- 🔄 **自动重启**: 达到最大请求数自动重启 Worker，防止内存泄漏
- 📁 **静态文件**: 内置静态文件服务，无需 Nginx
- 🛠 **易于集成**: 一键安装，开箱即用
- 📊 **性能统计**: 自动统计请求数、响应时间、内存使用
- 🔀 **双框架支持**: 同时兼容 Laravel 和 Lumen 框架

安装
--

[](#安装)

```
# PHP >=8.1
composer -vvv require "code-gopher/laravel-workerman:^2.1"

# PHP >=7.0.0,register(CodeGopher\LaravelWorkerman\WorkermanServiceProvider::class);
```

使用
--

[](#使用)

### 启动服务

[](#启动服务)

```
# 前台启动
php workerman.php start

# 后台启动（守护进程，仅 Linux/Mac）
php workerman.php start -d

# 自定义参数
php workerman.php --port=9000 --workers=8 --max=5000 --debug start
```

### 命令行参数

[](#命令行参数)

参数短选项说明默认值`--port``-p`监听端口8080`--workers``-w`Worker 进程数4`--max``-m`单个 Worker 最大请求数10000`--debug`-启用调试模式false### 停止服务

[](#停止服务)

```
# Linux/Mac
php workerman.php stop

# Windows
Ctrl+C
```

### 其他命令（仅 Linux/Mac）

[](#其他命令仅-linuxmac)

```
php workerman.php restart   # 重启
php workerman.php reload    # 平滑重载
php workerman.php status    # 查看状态
```

配置选项
----

[](#配置选项)

编辑 `config/workerman.php`：

```
return [
    // 监听地址
    'host'         => env('WORKERMAN_HOST', '0.0.0.0'),

    // 监听端口
    'port'         => env('WORKERMAN_PORT', 8080),

    // Worker 进程数（Windows 只能为 1）
    'workers'      => env('WORKERMAN_WORKERS', 4),

    // 最大请求数（达到后 Worker 自动重启，防止内存泄漏）
    'max_requests' => env('WORKERMAN_MAX_REQUESTS', 10000),

    // 调试模式
    'debug'        => env('WORKERMAN_DEBUG', false),

    // 进程名称
    'name'         => env('WORKERMAN_NAME', 'laravel-workerman'),

    // 静态文件配置
    'static'       => [
        'enable' => true,
        'path'   => base_path('public'),
    ],

    // 日志配置
    'log'          => [
        'file' => storage_path('logs/workerman.log'),
    ],

    // 自定义清理器（每次请求结束后执行）
    'cleaners'     => [
        // App\Workerman\Cleaners\MyCleaner::class,
        // App\Workerman\Cleaners\AnotherCleaner::class,
    ],
];
```

自定义清理器
------

[](#自定义清理器)

在 Workerman 常驻内存环境下，某些资源需要在每次请求结束后清理，以防止状态污染。

### 内置清理器

[](#内置清理器)

已内置以下清理器，自动执行：

- `GlobalVariableCleaner` - 清理 PHP 超全局变量
- `RequestInstanceCleaner` - 清理请求级别容器实例
- `FacadeCleaner` - 清理 Facade 缓存
- `SessionCleaner` - 保存并重置 Session
- `AuthCleaner` - 清理认证状态
- `CookieCleaner` - 清理 Cookie 队列
- `ValidatorCleaner` - 清理验证器实例
- `UrlGeneratorCleaner` - 清理 URL 生成器
- `DatabaseCleaner` - 清理数据库查询日志、回滚未提交事务

### 创建自定义清理器

[](#创建自定义清理器)

如果你的应用有自定义的单例或静态变量需要清理，可以创建自定义清理器：

```
