上云无忧 > 文档中心 > 环信IM即时通讯(服务端) - PHP Server SDK
IM即时通讯
环信IM即时通讯(服务端) - PHP Server SDK

文档简介:
介绍: PHP SDK 是对环信 IM REST API 的封装,旨在节省服务器端开发者对接环信 API 的时间,只需要配置自己的 App Key 相关信息即可使用。 功能: PHP SDK 提供了用户、消息、群组、聊天室等资源的操作管理能力。 依赖: PHP 5.3+
*此产品及展示信息均由环信官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

介绍

PHP SDK 是对环信 IM REST API 的封装,旨在节省服务器端开发者对接环信 API 的时间,只需要配置自己的 App Key 相关信息即可使用。

#功能

PHP SDK 提供了用户、消息、群组、聊天室等资源的操作管理能力。

#依赖

  • PHP 5.3+

#安装

直接使用 composeropen in new window 进行安装

composer require maniac/easemob-php

#目录结构

  • examples 示例文件目录
  • runtime 临时文件、缓存文件目录
  • src 核心文件目录
  • tests 测试文件目录

#准备

使用 PHP SDK 之前,需准备环信 App Key、Client ID 和 Client Secret。

如果你有环信管理后台账号并创建过应用,请先登录环信管理后台,点击 这里open in new window,然后在 “应用列表” 中点击 “查看” 即可获取 appkey、Client ID 和 ClientSecret。

如果你没有环信管理后台账号,请先注册账号,点击 这里open in new window,注册成功后请登录,然后点击 “添加应用”,添加成功后点击 “查看” 即可获取 appkey、Client ID 和 ClientSecret。

#使用

如果使用 Laravel、YII、ThinkPHP 之类的框架,composer 安装的库会自动加载,如果没有使用框架,需要手动引入 vendor/autoload.php 文件。

使用所有的类之前,均需先初始化授权对象,然后在初始化其他类时传入授权对象。


require 'vendor/autoload.php'; use Easemob\Auth; use Easemob\User; $auth = new Auth("appKey", "Client ID", 
"ClientSecret"); $user = new User($auth); 


根据业务资源,API 分为:

  • Attachment 用于上传下载附件
  • Block 用于限制访问(将用户加入黑名单、群组/聊天室禁言等)
  • Contact 用于管理联系人(添加好友等)
  • Group 用于管理群组
  • Message 用于发送消息
  • User 用于管理用户
  • UserMetadata 用于管理用户属性
  • Push 用于管理用户推送(设置推送免打扰等)
  • Room 用于管理聊天室
  • WhiteList 用于管理白名单

每个业务资源对应一个方法,例如,用户相关的 API,都可以在 User 类中找到。

例如,注册用户,示例代码如下:


require 'vendor/autoload.php'; use Easemob\Auth; use Easemob\User; $auth = new Auth("appKey", "Client ID", 
"ClientSecret"); $user = new User($auth); // 注册单个用户 $data = array( 'username' => 'user1', 'password'
 => 'user1', 'nickname' => 'user1', ); $user->create($data); // 批量注册用户 $data = array( array( 'username'
 => 'user2', 'password' => 'user2', 'nickname' => 'user2', ), array( 'username' => 'user3', 'password' => 
'user3', 'nickname' => 'user3', ), ); $user->create($data); 


#参考

  • PHP SDK 的 API 文档在 这里open in new window
  • PHP SDK 开源地址在 这里open in new window

#常见问题

  1. 关于 PHP 低版本中文乱码问题

在纯 PHP 页面中使用

header("Content-Type:text/html;charset=utf-8"); 

在 HTML 和 PHP 混编的页面中使用

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  1. 关于 SDK 返回的错误码和错误描述

PHP SDK 会直接返回 REST API 的错误码及错误描述,具体请参考 服务器端 REST API 常见错误码

  1. 使用代理的情况

初始化授权对象 Auth 之后,可以设置代理:

require 'vendor/autoload.php'; use Easemob\Auth; use Easemob\Http\Http $easemob = $config['easemob'];
 $auth = new Auth("appKey", "Client ID", "ClientSecret"); // 设置代理 Http::setProxy("ip地址", 8080);

相似文档
  • 本文介绍 REST 接口调用后的返回结果响应码。可根据返回数据中的 error 字段判断具体错误。 响应码:200(成功)。 响应码:4xx(请求错误)。这些状态代码表示请求可能出错,妨碍了服务器的处理。 响应码:5xx(服务器错误)。这些状态代码表示服务器在尝试处理请求时发生内部错误。
  • 回调功能,即环信 IM 服务器会在事件发生之前或之后,向你的应用服务器发送请求,你可以根据业务需求来干预事件的后续处理流程(发送前回调),或据此进行必要的数据同步(发送后回调)。
  • 开发者可以通过该回调实现实时监控用户在线、离线状态,以及状态变更原因(登入,登出,用户账号被动退出);如应用中需要实时展示用户在线、离线状态时,可通过此服务来实现。
  • 通过回调过滤规则的设置,可以根据需求选择回调中的有用信息。在环信管理后台设置发送后回调规则后,默认会回调所有事件信息,如需单独设置特定类型不回调,请联系环信商务经理。
  • 环信即时通讯私有化服务是基于 IM 核心技术实现的可私有化部署解决方案。本方案可适配内网物理服务器集群、公有云以及私有云等任意部署环境,提供功能完备、安全可靠、易于扩展的即时通讯平台。整体通讯平台架构主要由三部分组成,分别为客户端、服务端、Web 控制台。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部