首页 > 编程语言 >亲测一份PHP在线客服系统源码-thinkphp+workerman开发-网上流传最广的客服源码搭建教程

亲测一份PHP在线客服系统源码-thinkphp+workerman开发-网上流传最广的客服源码搭建教程

时间:2023-04-15 13:22:42浏览次数:34  
标签:false 客服 数据库 源码 phpkefu php 亲测

为了帮一个客户修改自己的客服系统,所以把源码在本地搭建了一下。因为,我本身就是使用golang有开发一款客服系统的,本来不愿意看这种旧版本的PHP客服源码。但是客户那边需求很少,购买我的商务版感觉不合算,所以网上找了这一个客服源码,也是流传最广的一款PHP客服系统。当然这个源码有没有后门漏洞,就需要仔细看代码了,一般情况下可能会有BUG以及后门的,请谨慎参考。

 

我本地环境windows10 ,PHP的代码需要在php-fpm下运行,websocket服务端需要命令行执行。先提前安装好集成环境,比如phpstudy,方便一点。

首先把代码放到一个目录里

 

到数据库管理面板,先创建好一个数据库,比如:phpkefu。访问phpmyadmin,把根目录的kefu.sql 导入进去

 

 

 

配置后台的数据库连接信息 config/database.php

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <服务器购买去wyyidc.cn>
// +----------------------------------------------------------------------

return [
    // 数据库类型
    'type'            => 'mysql',
    // 服务器地址
    'hostname'        => '127.0.0.1',
    // 数据库名
    'database'        => 'phpkefu',
    // 用户名
    'username'        => 'phpkefu',
    // 密码
    'password'        => 'phpkefu',
    // 端口
    'hostport'        => '3306',
    // 连接dsn
    'dsn'             => '',
    // 数据库连接参数
    'params'          => [],
    // 数据库编码默认采用utf8
    'charset'         => 'utf8',
    // 数据库表前缀
    'prefix'          => 'v2_',
    // 数据库调试模式
    'debug'           => true,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'          => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate'     => false,
    // 读写分离后 主服务器数量
    'master_num'      => 1,
    // 指定从服务器序号
    'slave_no'        => '',
    // 自动读取主库数据
    'read_master'     => false,
    // 是否严格检查字段是否存在
    'fields_strict'   => true,
    // 数据集返回类型
    'resultset_type'  => 'array',
    // 自动写入时间戳字段
    'auto_timestamp'  => false,
    // 时间字段取出后的默认时间格式
    'datetime_format' => 'Y-m-d H:i:s',
    // 是否需要进行SQL性能分析
    'sql_explain'     => false,
    // Builder类
    'builder'         => '',
    // Query类
    'query'           => '\\think\\db\\Query',
    // 是否需要断线重连
    'break_reconnect' => true,
    // 断线标识字符串
    'break_match_str' => [],
];

配置workerman websocket服务端的数据库连接信息 websocket/config.php

<?php

return [

    // websocket 对外服务端口
    'ws_port' => 2020,

    // http api 服务对外端口
    'api_port' => 2945,

    // gateway worker number
    'gateway_worker' => 2,

    // business worker number
    'business_worker' => 2,

    // 是否开启客服只允许单点登录 0 不开启 1 开启,
    // 切换需要重启
    'single_login' => 1,

    // 是否开启 ssl
    'is_open_ssl' => true,

    'context' => [
        'ssl' => [
            // 请使用绝对路径
            'local_cert'  => 'fullchain.pem', // 也可以是crt文件
            'local_pk'  => 'privkey.pem',
            'verify_peer'   => false,
            'allow_self_signed' => true,// 是否允许自签名证书
        ]
    ],

    'database' => [
        'host'        => '127.0.0.1',
        'user'        => 'phpkefu',
        'password'    => 'phpkefu',
        'database'    => 'phpkefu',
        'port'        => '3306',
        'charset'     => 'utf8',
    ]
];

 

配置nginx的虚拟主机,把根目录定位在  public目录 下

 

 

 

 然后增加伪静态配置

    if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?s=$1 last;
             break;
     }

这样就能访问后台了

http://域名/admin

配置项目

账户是admin,如果密码忘记了怎么办。可以直接修改数据库表v2_admin ,密码规则是md5(密码+ 加密盐) , 加密盐可以在config/service.php中看到

在这个配置里还要看看,webscoket的配置,注意区分是ws还是wss

    // 通信协议
    'protocol' => 'ws://',

    // socket server
    'socket' => '127.0.0.1:2020',

还有一个配置文件是service_socketio.php  ,这里面也有一些域名,websocket的配置信息

启动websocket服务

双击执行websocket目录下的start_for_win.bat

还有注意看看这个目录下的config.php  ,如果不支持wss ,需要改 'is_open_ssl' => false , 如果需要支持wss,需要配置证书文件的地址

 

 

整体访问流程

整体项目就搭建起来了,需要我们先登录客服后台 /admin  去增加配置商户

再登录商户后台 /seller去增加配置坐席 ,获取访客聊天连接

再登录客服后台  ,去接待具体客户

标签:false,客服,数据库,源码,phpkefu,php,亲测
From: https://www.cnblogs.com/taoshihan/p/17320844.html

相关文章

  • 互联网医院源码开发|互联网医院软件如何更加规范化?
    互联网医院系统这几年应用越来越广泛,让患者更好的完成线上就医,线上购药等,其实在诊后的环节中互联网医院更是发挥着真正的作用,因为对于一些慢性病患者来说诊后对患者的管理,后续的用药从医性,才是互联网医院能带给患者真正的环节,互联网医院系统的搭建对各中小型药企也将是一个新渠道,在......
  • 【Spring Cloud】Ribbon工作原理源码剖析
    Ribbon调用流程Ribbon工作原理为什么@LoadBalanced注解能赋予RestTemplate负载均衡的能力?Ribbon组件在启动时,会自动加载RibbonAutoConfiguration这个配置类,如下图RibbonAutoConfiguration加载于EurekaClientAutoConfiguration之前,加载于LoadBalancerAutoConfiguration之后......
  • 源码共读 | axios 工具函数
    前言Axios是一个非常流行的库,它可以让你简单、方便地发送HTTP请求。它可以用在浏览器和node.js中,并且支持跨域请求。在Github上拥有快接近10w颗星了,可见其受欢迎程度。下面就来学习一下axios工具函数的源码。仓库地址:axios/axios:PromisebasedHTTPclientfortheb......
  • Go For Web:Golang http 包详解(源码剖析)
    前言:本文作为解决如何通过Golang来编写Web应用这个问题的前瞻,对Golang中的Web基础部分进行一个简单的介绍。目前Go拥有成熟的Http处理包,所以我们去编写一个做任何事情的动态Web程序应该是很轻松的,接下来我们就去学习了解一些关于Web的相关基础,了解一些概念,以及......
  • vue2源码-五、将模板编译解析成AST语法树1
    将模板编译成ast语法树complileToFunction方法vue数据渲染:template模板->ast语法树->render函数,模板编译的最终结果结果就是render函数。在complileToFunction方法中,生成render函数,需要以下两个核心步骤:通过parserHTML方法:将模板(template或html)内容编译成ast语法树通过co......
  • 未来源码|什么是数据集成?超全的SeaTunnel 集成工具介绍
    以下文章来源于大数据与云原生技术分享,作者liugp推荐语:随着互联网流量爆发式增长,越来越多的公司业务需要支撑海量数据存储,对高并发、高可用、高可扩展性等特性提出了更高的要求。这也促使各种类型的数据库快速发展,至今常见数据库已经达到200多个。与之相伴的便是,各种数据库之间......
  • Spring很常用的@Conditional注解的使用场景和源码解析
    你好,我是刘牌!介绍今天要分享的是Spring的注解@Conditional,@Conditional是一个条件注解,它的作用是判断Bean是否满足条件,如果满足条件,则将Bean注册进IOC中,如果不满足条件,则不进行注册,这个注解在SpringBoot中衍生出很多注解,比如@ConditionalOnProperty,@ConditionalOnBean,@Conditi......
  • centos 升级内核版本(源码)
    查看内核版本号:username-r 或者username-a  1、安装依赖yuminstall-ygccmakegitctagsncurses-developenssl-develyuminstall-ybisonflexelfutils-libelf-develbc如果担心依赖问题不够新,可以在执行:yum-yupgrade,更新操作系统上的所有依赖 2......
  • c# 计算器2.0源码
      主要时间浪费在 //执行计算objectresult=newDataTable().Compute(s,"");这条语句上。如果不加处理,特别大的整数相乘,会提示值太大。只好将整数加个0变为小数;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;......
  • SolidWorks【SW 】2023 SP1.0 中文版安装包下载及【SW 】2023 图文安装教程​(亲测)
    SolidWorks是一款非常实用高效的机械CAM和CAE分析辅助工具,具有非常直观的3D开发环境,可以帮助用户轻松设计和制造各种复杂产品,SolidWorks软件还具有工程分析和准备系统,使您的设计和制造资源的生产效率得到充分发挥。更好的产品可以更快更便宜地创造出来。%64%6f%63%73%2e%71%71%2e%......