PHPackages                             zego/server\_assistant - 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. zego/server\_assistant

ActiveLibrary

zego/server\_assistant
======================

Zego Server Assistant

13.7k—10%PHP

Since Aug 16Pushed 3y ago1 watchersCompare

[ Source](https://github.com/tope6217/zego)[ Packagist](https://packagist.org/packages/zego/server_assistant)[ RSS](/packages/zego-server-assistant/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

#### 安装&amp;使用

[](#安装使用)

##### 方式一(推荐)：Composer Autoload，即使用composer的PSR-4自动加载机制实现加载

[](#方式一推荐composer-autoload即使用composer的psr-4自动加载机制实现加载)

**安装**

1. 拷贝文件包至项目根目录下的某个目录中，例如这里以`/my_project/zego`目录为例，其中`/my_project/`为项目根目录
2. `vim /my_project/composer.json`加入`psr-4`自动加载配置

```
{
  ...
  "autoload": {
    "psr-4": {
      "ZEGO\\": "zego/src/ZEGO"
    }
  }
  ...
}
```

3. 执行 `composer dump-autoload` 或 `composer dump-autoload -o`（生产环境适用） 或 `composer update` 命令，生成自动加载文件

**使用**
\####普通token 生成demo

- 在`/my_project/xxx.php`文件中使用
- 普通token用于服务接口的简单权限验证的场景，payload字段可传空

```
require 'vendor/autoload.php';
use ZEGO\ZegoServerAssistant;
use ZEGO\ZegoErrorCodes;

$appId = 1;
$userId = 'demo';
$secret = 'fa94dd0f974cf2e293728a526b028271';
$payload = '';
$token = ZegoServerAssistant::generateToken04($appId,$userId,$secret,3600,$payload);
if( $token->code == ZegoErrorCodes::success ){
  print_r($token->token);
}
```

#### 强验证token 生成demo

[](#强验证token-生成demo)

- 在`/my_project/xxx.php`文件中使用
- 强验证token用于对房间登录/推拉流权限需要进行强验证的场景，payload字段需要按照规格生成

```
require 'vendor/autoload.php';
use ZEGO\ZegoServerAssistant;
use ZEGO\ZegoErrorCodes;

//权限位定义
const PrivilegeKeyLogin   = 1; // 登录
const PrivilegeKeyPublish = 2; // 推流

//权限开关定义
const PrivilegeEnable     = 1; // 开启
const PrivilegeDisable    = 0; // 关闭

$appId = 1;
$userId = 'demo';
$roomId = "demo";
$secret = 'fa94dd0f974cf2e293728a526b028271';
$rtcRoomPayLoad = [
    'room_id' => $roomId, //房间id；用于对接口的房间id进行强验证
    'privilege' => [     //权限位开关列表；用于对接口的操作权限进行强验证
        PrivilegeKeyLogin => PrivilegeEnable,
        PrivilegeKeyPublish => PrivilegeDisable,
    ],
    'stream_id_list' => [] //流列表；用于对接口的流id进行强验证；允许为空，如果为空，则不对流id验证
];

$payload = json_encode($rtcRoomPayLoad);

$token = ZegoServerAssistant::generateToken04($appId, $userId, $secret, 3600, $payload);
if( $token->code == ZegoErrorCodes::success ){
  print_r($token);
}
```

##### 方式二：Symfony Class Auto Loader 注册自动加载，适合在未使用composer的项目中使用此方式

[](#方式二symfony-class-auto-loader-注册自动加载适合在未使用composer的项目中使用此方式)

**安装**

1. 拷贝文件包至项目根目录下的某个目录中，例如这里以`/my_project/zego`目录为例，其中`/my_project/`为项目根目录

**使用**
\####普通token 生成demo

- 在`/my_project/xxx.php`文件中使用
- 普通token用于服务接口的简单权限验证的场景，payload字段可传空

```
require 'vendor/autoload.php';
use ZEGO\ZegoServerAssistant;
use ZEGO\ZegoErrorCodes;

$appId = 1;
$userId = 'demo';
$secret = 'fa94dd0f974cf2e293728a526b028271';
$payload = '';
$token = ZegoServerAssistant::generateToken04($appId,$userId,$secret,3600,$payload);
if( $token->code == ZegoErrorCodes::success ){
  print_r($token->token);
}
```

#### 强验证token 生成demo

[](#强验证token-生成demo-1)

- 在`/my_project/xxx.php`文件中使用
- 强验证token用于对房间登录/推拉流权限需要进行强验证的场景，payload字段需要按照规格生成

```
require 'vendor/autoload.php';
use ZEGO\ZegoServerAssistant;
use ZEGO\ZegoErrorCodes;

//权限位定义
const PrivilegeKeyLogin   = 1; // 登录
const PrivilegeKeyPublish = 2; // 推流

//权限开关定义
const PrivilegeEnable     = 1; // 开启
const PrivilegeDisable    = 0; // 关闭

$appId = 1;
$userId = 'demo';
$roomId = "demo";
$secret = 'fa94dd0f974cf2e293728a526b028271';
$rtcRoomPayLoad = [
    'room_id' => $roomId, //房间id；用于对接口的房间id进行强验证
    'privilege' => [     //权限位开关列表；用于对接口的操作权限进行强验证
        PrivilegeKeyLogin => PrivilegeEnable,
        PrivilegeKeyPublish => PrivilegeDisable,
    ],
    'stream_id_list' => [] //流列表；用于对接口的流id进行强验证；允许为空，如果为空，则不对流id验证
];

$payload = json_encode($rtcRoomPayLoad);

$token = ZegoServerAssistant::generateToken04($appId, $userId, $secret, 3600, $payload);
if( $token->code == ZegoErrorCodes::success ){
  print_r($token);
}
```

```

## 错误码说明

```php
namespace ZEGO;

class ZegoErrorCodes{
    const success                       = 0;  // 获取鉴权 token 成功
    const appIDInvalid                  = 1;  // 调用方法时传入 appID 参数错误
    const userIDInvalid                 = 3;  // 调用方法时传入 userID 参数错误
    const secretInvalid                 = 5;  // 调用方法时传入 secret 参数错误
    const effectiveTimeInSecondsInvalid = 6;  // 调用方法时传入 effectiveTimeInSeconds 参数错误
}

```

generateToken04 参数及返回值说明
------------------------

[](#generatetoken04-参数及返回值说明)

```
    /**
     * 根据所提供的参数列表生成用于与即构服务端通信的鉴权
     *
     * @param integer $appId Zego派发的数字ID, 各个开发者的唯一标识
     * @param string $userId 用户 ID
     * @param string $secret 由即构提供的与 appId 对应的密钥，请妥善保管，切勿外泄
     * @param integer $effectiveTimeInSeconds token 的有效时长，单位：秒
     * @param string $payload 业务扩展字段，json串
     * @return ZegoAssistantToken 返回 token 内容，值为ZEGO\ZegoAssistantToken对象，在使用前，请检查对象code属性是否为 ZEGO\ZegoErrorCodes::success。实际 token 内容保存在 token 属性中
     */
    public static function generateToken04(int $appId, string $userId, string $secret, int $effectiveTimeInSeconds, string $payload )
```

返回值为`ZEGO\ZegoAssistantToken`对象：

```
namespace ZEGO;

class ZegoAssistantToken{
    public $code;
    public $message = '';
    public $token;
}
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity25

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/17278800190e203f98097bed14848a7fb991d06116f918b19778fd6c9ec482c9?d=identicon)[tope6217](/maintainers/tope6217)

### Embed Badge

![Health badge](/badges/zego-server-assistant/health.svg)

```
[![Health](https://phpackages.com/badges/zego-server-assistant/health.svg)](https://phpackages.com/packages/zego-server-assistant)
```

PHPackages © 2026

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