Skip to content

IM客服

环境要求

Linux用户(含Mac OS)

Linux用户只能使用Linux版本的Workerman。

  1. 安装PHP>=8.0,并安装了pcntl、posix扩展

  2. 建议安装event或者libevent扩展,但不是必须的(注意event扩展需要PHP>=8.0)

解除禁用函数

步骤如下:

  1. 运行php --ini 找到php cli所使用的php.ini文件位置
  2. 打开php.ini,找到disable_functions一项解除对应函数的禁用
  3. 如果您是使用宝塔用户则不需要修改php.ini文件,登录宝塔前往软件商店->找到对应PHP版本->设置->禁用函数
依赖的函数

使用workerman需要解除以下函数的禁用

sh
shell_exec
stream_socket_server
stream_socket_client
pcntl_signal_dispatch
pcntl_signal
pcntl_alarm
pcntl_fork
posix_getuid
posix_getpwuid
posix_kill
posix_setsid
posix_getpid
posix_getpwnam
posix_getgrnam
posix_getgid
posix_setgid
posix_initgroups
posix_setuid
posix_isatty

Linux环境检查脚本

  • Linux用户可以运行以下脚本检查本地环境是否满足WorkerMan要求
sh
curl -Ss https://www.workerman.net/check | php
  • 如果脚本中全部提示ok,则代表满足WorkerMan运行环境

(注意:检测脚本中没有检测event扩展或者libevent扩展,如果并发连接数大于1024建议安装event扩展或者libevent扩展,安装方法参见下一节)

已有PHP环境安装缺失扩展

注意事项

  1. 在运行客服前需要注意您的服务器端是否开启,阿里云、腾讯云需要自己添加安全规则的。
  2. 如果需要在小程序上运行客服,需要配置ssl 和 wss
  3. nginx配置(以宝塔为例) 图片alt图片alt
php
map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}
# 这里的backend可以改成自己需要的名称,我自己用的是wss。
upstream wss {
  # 这里的localhost是映射本地服务器,也可以是外网ip,2345是我ws开启的端口。
  server b2cv3.a3-mall.com:2345;
}

# 注意:这里的/wss后面没有/了哦
location /wss { 
  proxy_pass http://wss;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
}
  1. 修改配置 图片alt图片alt

运行客服

sh
在终端或者cmd运行:
php think socket [ status ] [ -d ]
php think socket start|stop|restart -d (daemon(守护进程)方式启动)

守护进程方式启动:
php think socket start -d

宝塔插件

软件商店->进程守护管理器

图片alt图片alt

疑问

1. 为什么按上面配置好后,客服前端报错

例:如果您使用的是阿里云服务器,请确保您已将2345端口放开,并且在宝塔安全->端口上也将2345端口放开

2. 为什么我启动后报错

请确认您的PHP环境是否有安装相关pcntl、posix扩展,如果安装了相关扩展,还是启动失败,请查看宝塔 PHP的禁用函数上是否有pcntl_开头的函数,如果有请删除

© Copyright 2019-2025 A3Mall All Rights Reserved