PHPackages                             zgldh/workerboy - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. zgldh/workerboy

ActiveLibrary[Queues &amp; Workers](/categories/queues)

zgldh/workerboy
===============

Workerman 3 for Laravel 5.

v0.15(10y ago)4420412[1 issues](https://github.com/zgldh/workerboy/issues)MITPHPPHP &gt;=5.4.0

Since May 8Pushed 9y ago4 watchersCompare

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

READMEChangelog (3)DependenciesVersions (4)Used By (0)

请移步这里：

水平有限，workerboy坑了 This package is deprecated.

Workerboy
=========

[](#workerboy)

Workerboy是Workerman3在Laravel5下的封装。

装上以后就可以用Laravel的artisan命令来管理workerman了。

依赖
--

[](#依赖)

PHP 5.4

本产品依赖 PHP的"ext-sockets" 扩展。Windows下就别想了。

为了提升性能，推荐安装"ext-libevent" 扩展。看这里：

更新
--

[](#更新)

- v0.15 增加了“凭证”机制，用于同步Web服务器用户ID和Socket服务器ClientId。具体请查看下面[凭证机制](#%E5%87%AD%E8%AF%81%E6%9C%BA%E5%88%B6)说明。
- v0.14 修复了多workerman应用间互相冲突的bug。 请注意新的config格式： `/vendor/zgldh/workerboy/config/workerboy.php`请注意每个应用的`start.php`里面需要给每个worker配置config。具体请看应用模板文件`/vendor/zgldh/workerboy/templates/\GatewayBusinessWorkerApplication/start.php`

用法
--

[](#用法)

1. `composer require zgldh/workerboy`。
2. 在`config\app.php`的 `providers`数组添加 `zgldh\workerboy\WorkerBoyServiceProvider`。
3. `php artisan vendor:publish` 将workerboy.php配置项输出到config目录下。
4. `php artisan workerboy:create MyApplication` 新建一个Workerman3应用。
5. 编辑`Event.php`文件。写业务逻辑。
6. 在`config/workerboy.php`的`applications`数组里增加刚刚添加的Workerman3应用。
7. `php artisan workerboy:start --deamon` 启动所有Workerman3应用。

命令
--

[](#命令)

- ### create

    [](#create)

`workerboy:create ApplicationName` 创建一个Workerman3应用，默认是Gateway/BusinessWorker模式。 `workerboy:create ApplicationName --worker-only` 使用纯Worker模式创建一个Workerman3应用。

- ### start

    [](#start)

`workerboy:start` 启动Workerman3所有的应用。默认是调试模式。 `workerboy:start --deamon` 以daemon方式启动。

- ### stop

    [](#stop)

`workerboy:stop` 停止系统。

- ### restart

    [](#restart)

`workerboy:stop` 重启系统。

- ### reload

    [](#reload)

`workerboy:reload` 平滑重启。

- ### status

    [](#status)

`workerboy:status` 查看状态。

具体请看：

凭证机制
----

[](#凭证机制)

开发者常遇痛点：WebSocket连上了，如何告诉Socket服务器当前连上的是Web服务器里的哪个用户呢？ 直接在连接的时候写上UserId？那太不保险了。 Workerboy为了解决该问题而产生了凭证机制，用于同步Web服务器用户ID和Socket服务器ClientId。

一共3步：

1. 在做WebSocket的页面输出一个凭证：

```
```javascript

    var WORKERBOY_CREDENTIAL = ;

```

```

2. 在WebSocket连接时将凭证传过去：

```
```javascript
var ws = new WebSocket('ws://' + window.location.host + ':8685');
ws.onopen = function () {
    ws.send(JSON.stringify({
        type                : "login",
        workerboy_credential: WORKERBOY_CREDENTIAL
    }));
};
```

```

3. 在Event.php里面验证凭证：

```
```php
$workerBoy = WorkerBoy::getInstance();
$credential = @$message_data['workerboy_credential'];
$userId = $workerBoy->validateCredential($credential);
```
这样你就拿到了当前Socket连接用户在Web服务器里的UserId了。

```

凭证机制默认使用Laravel的Session进行储存，你可以修改`config/workerboy.php`的`credential_processor`项来自定义凭证机制。

Workerman 3.0
-------------

[](#workerman-30)

GitHub:

Home page:

Documentation:

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Total

3

Last Release

3991d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/312404?v=4)[zgldh](/maintainers/zgldh)[@zgldh](https://github.com/zgldh)

---

Top Contributors

[![zgldh](https://avatars.githubusercontent.com/u/312404?v=4)](https://github.com/zgldh "zgldh (17 commits)")

---

Tags

laravelSocketworkermanwebsocket server

### Embed Badge

![Health badge](/badges/zgldh-workerboy/health.svg)

```
[![Health](https://phpackages.com/badges/zgldh-workerboy/health.svg)](https://phpackages.com/packages/zgldh-workerboy)
```

###  Alternatives

[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

3786.5k](/packages/harris21-laravel-fuse)[kunalvarma05/laravel-rabbitmq

Work with RabbitMQ in Laravel.

1853.7k](/packages/kunalvarma05-laravel-rabbitmq)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
