ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

PHPlivechat在线客服系统部署教程:宝塔面板+PHP环境+手机APP绑定

PHPlivechat在线客服系统部署教程:宝塔面板+PHP环境+手机APP绑定 简介这是一款2021年12月修复的PHPlivechat在线客服系统源码包面向需要快速搭建独立客服平台的站长、企业或个人开发者支持无限坐席并附带安卓手机APP客服端与详细教程解决多端同步接待访客咨询的问题。压缩包共451个文件、133.83MB涵盖122个js前端逻辑、100个php后台接口、23个html页面以及css、mp3、png、字体等资源另外包含可直接安装的apk与mp4演示视频前端、后端、移动端和说明素材一应俱全。已有1102人学习下载。资源内置贴心的安装流程无需手动修改数据库信息或预导入SQL在安装页面填写站点数据库与管理员账号即可完成部署同时提供专属移动聊天链接和APP扫码绑定方法适合需要快速上线并希望PC手机双端同步管理客服会话的使用场景。1. PHPlivechat 在线客服系统一套能跑到手机上的 PHP 客服方案做网站服务的老手都清楚客服系统这东西SaaS 按月付费是一笔不小的开支而且数据全在别人手里。PHPlivechat 这类开源方案的优势在于源码可控、部署在自己服务器上坐席数量不受限还能通过手机 APP 接客。这套修复版我在宝塔 Linux 和 Windows 上都搭过流程走通之后从上传源码到手机客服端上线半小时以内能搞定而且不需要手动改数据库配置、不需要导入 SQL安装向导全包了。适合手里有 PHP 虚拟主机或 VPS、想省掉客服系统月费的站长也适合做二次开发的技术人员拿源码做底子改造成自己的客服产品。2. 部署前的环境准备宝塔面板与 PHP 版本选型2.1 环境组合怎么选Apache 2.4.41 PHP 5.6 的理由这套 PHPlivechat 是基于 PHP 5 时代写的函数写法和类库调用都比较老。把 PHP 版本拉到 7.4 甚至 8.0 以上安装页大概率会遇到Deprecated报错或者函数不兼容的问题。资源说明里明确写了 Apache 2.4.41、PHP 5.6 以上我实际测试下来PHP 5.6 和 PHP 7.0 是最稳的PHP 7.2 也能跑但 PHP 7.4 以上就会出现each()函数被移除导致的致命错误。宝塔面板在创建站点时PHP 版本是可以在站点设置里单独切换的不需要整台服务器统一升级或降级。也就是说你服务器上同时装了 PHP 5.6 和 PHP 7.4网站 A 用 7.4网站 B 用 5.6互不影响。这一点对服务器上已经跑了其他业务、不好动全局 PHP 版本的场景特别友好。建议在宝塔软件商店里把 PHP 5.6 装上并安装fileinfo、opcache这两个扩展fileinfo在某些文件上传和 MIME 校验场景会被调用不装会出无法上传图片的头像问题。opcache不是必须但开了之后后台响应速度明显更快。Windows 宝塔的部署逻辑差不多区别在于 Apache 和 PHP 的进程模型不同Windows 下并发稍高时资源占用会明显涨这个项目是客服系统并发场景主要是客服和访客之间的聊天不是高并发网站一般够用。2.2 创建站点与数据库宝塔面板操作细节在宝塔面板左侧点击「网站」→「添加站点」域名填你准备绑定的域名或者 IP 地址。如果你的服务器暂时没有备案域名直接用 IP 加端口也可以访问但 APP 客服端绑定服务器时填写的地址必须和网页端地址一致。数据库这里有个关键点PHPlivechat 的安装流程是在安装页面直接填写数据库信息宝塔后台创建数据库时生成的数据库名、用户名、密码要记好安装页面要用。数据库字符集建议选择utf8不要选utf8mb4。原因是这套系统的数据表结构是十年前的默认字符集就是 utf8虽然 utf8mb4 是 utf8 的超集但部分老版本 PHP 的mysql扩展在连接 utf8mb4 库时会出现中文乱码和表情符号写入失败的问题。我在测试时用 utf8mb4 装过一次前台访客昵称带 emoji 时消息能收到但入库变成???查起来很费劲。站点创建完毕后进入「设置」→「伪静态」根据你使用的 Web 服务器选择对应的伪静态规则。Apache 环境下PHPlivechat 的 URL 重写依赖.htaccess文件源码包里通常自带不需要在宝塔里额外配置伪静态规则。但如果你是 Nginx 环境就必须在宝塔的伪静态配置里手动写规则否则聊天链接会 404。这正是为什么推荐用 Apache 的原因——省掉一层配置。提示如果你只有 Nginx 环境可以用location / { try_files $uri $uri/ /index.php?$query_string; }兜底但部分聊天接口路径需要额外放行Apache 仍然是首选。3. 上传源码与安装向导不需要导入数据库的安装流程3.1 源码包目录结构CSS、JS 与 APP 对应关系解压源码包后你看到的文件列表里有admin.css、bootstrap.css、font-awesome.min.css、framework.css、fonts.css、gumby.css、jquery-ui-1.10.3.custom.css、main.css、widget-mobile.css以及一个客服管理APP.apk安卓安装包。这些 CSS 文件对应的是两套界面一套是 Web 管理后台admin.css、main.css等管理后台负责创建客服账号、查看聊天记录、生成客服专属链接另一套是访客聊天窗口和移动端客服工作台widget-mobile.css。font-awesome.min.css是图标字体bootstrap.css是栅格布局框架gumby.css是另一套 UI 框架多套框架并存说明源码在 UI 层做过二次开发和整合不是纯原版。widget-mobile.css是移动端聊天组件的样式文件对应的是摘要里提到的「客服专属聊天链接你的域名/php/app.php?widget-mobile」这个入口。浏览器访问这个 URL 时PHP 根据widget-mobile参数加载移动端聊天窗口模板同时调用widget-mobile.css做移动端适配。如果你要改移动端聊天框的样式比如气泡颜色、按钮位置改的就是这个文件。客服管理APP.apk是安卓客服端安装包安装后用于客服人员在手机上接收访客消息、回复聊天。APK 本身不需要改动它通过扫码方式与 Web 管理后台绑定绑定信息里包含服务器地址和客服账号。3.2 上传与解压目录权限设置用宝塔的「文件」管理器把源码压缩包上传到网站根目录通常是/www/wwwroot/你的域名/。上传完成后右键压缩包选择「解压」解压到当前目录。解压后确认根目录下是否有index.php、php文件夹、install文件夹等核心文件。权限方面PHP 安装向导需要向php/config目录写入数据库配置文件所以网站目录的运行权限必须正确。宝塔创建站点时默认用户是www你需要把整个网站目录的属主设为www权限设为755即可不需要 777。如果你用的是 Windows 宝塔忽略用户概念只要确保 IIS 或 Apache 的匿名用户对目录有「读取和执行」权限即可。config目录如果权限不够安装向导会在第一步就提示目录不可写这个报错信息很明确按提示去宝塔文件管理器里修改权限就行。3.3 安装页面填表数据库信息与后台管理员账号打开浏览器访问你的域名如果是第一次安装系统会自动跳转到安装页面。这个页面需要填写的信息分为两区块数据库配置和管理员账号配置。数据库配置这块填写的是你在宝塔「数据库」管理页里创建的数据库名称、用户名、密码数据库主机一般填localhost端口 3306。填写前建议先在宝塔的「数据库」页面点击「管理」按钮用 phpMyAdmin 登录一次验证账号密码正确避免在安装页面反复报连接失败。管理员配置这块填写的是你可以用来登录客服系统后台的账号和邮箱比如admin加一个你常用的邮箱。邮箱不是必须能收信的但后期如果开启邮件通知功能用的就是这里填的地址。填完提交后系统自动创建数据表、写入初始配置。安装过程不是秒完成快则三秒慢则十秒页面会从一个表单页切换到「安装成功」提示页或者直接跳转到后台登录页。装完后访问你的域名/php/index.php用你刚才填的管理员账号密码登录。注意安装完成后千万不要重复访问安装页面部分版本的安装向导会在检测到已安装时自动跳转到登录页但个别版本会提示「目录已存在」并报错遇到这种情况不必慌直接访问后台登录地址即可。4. 手机 APP 客服端绑定扫码添加服务器的完整流程4.1 准备工作Web 管理后台生成 QR 码手机 APP 客服端不是独立注册账号的它必须绑定到一套已经安装成功的 Web 客服系统上。绑定动作的核心是扫描 Web 管理后台生成的二维码这个二维码里编码了服务器的地址、端口和站点标识信息APP 扫码后将这些信息保存在本地。具体的二维码位置在 Web 管理后台的「设置」或「服务器配置」页面里不同版本按钮名称可能有差异有的叫「QR 码」有的叫「扫一扫绑定」有的藏在「移动端」菜单下。我拆过的这个修复版里二维码在后台左侧菜单的「服务器配置」或「系统信息」入口下你找带有二维码图标的页面就对了。生成二维码的过程不需要人工干预页面加载时会向服务器请求一个绑定链接并动态渲染二维码图片。如果你在后台页面上看到一个空白方块或者一张小图可以试着把浏览器窗口拉大或者刷新某些老模板的二维码图片在窄屏下不会正常加载。4.2 APP 端操作添加服务器、扫码、绑定、登录在手机上安装客服管理APP.apk安装包是普通的安卓 APK安装时会提示「未知来源是否允许」选择允许安装。安装完成后打开 APP首页是空列表状态点击右上角的加号或「添加服务器」按钮。添加服务器不需要手动输入网址APP 内置了扫码功能点选择扫码后手机相机开启对准 Web 管理后台页面上显示的二维码。扫码成功之后APP 会解析出服务器地址并弹出一个输入框让你给这个服务器起一个名称比如「官网客服」或「测试环境」中文英文都行。确认后点击保存这个服务器就出现在 APP 首页列表里了。点击这个服务器条目会进入登录表单页面这里的登录账号和密码是 Web 后台创建的客服账号不是安装时填的管理员账号。客服账号的创建方式是用管理员账号登录 Web 后台在「客服管理」或「用户管理」页面添加客服操作员设置登录邮箱和密码。如果你没有提前创建客服账号APP 登录时会一直提示账号或密码错误。绑定成功后的服务器列表可以保存多个也就是一个APP可以同时接多个 PHPlivechat 系统的客服消息只要分别扫码绑定即可。这个设计对同时维护多个网站在线客服的运营人员挺有用不用带一堆 APP、切一堆账号。4.3 登录后的界面与消息接收逻辑APP 登录成功后主界面显示的是当前客服账号下的对话列表有新访客发起聊天时对话会自动出现在最顶部并伴随提示音。拿到这个 App 的客服人员实际上就是一个运行在手机上的聊天工作台能接收文本消息、查看访客信息、结束会话功能比网页端的客服工作台简化了一些但日常回复是够用的。这套逻辑背后的原理并不复杂APP 本质上是个 WebView 加原生壳的混合应用页面是从你的服务器加载的移动端客服工作台。也就是说它和浏览器访问你的域名/php/app.php?widget-mobile是同一套页面只是包了一层原生壳多了扫码绑定和服务器列表管理的功能。理解了这一点就不难解释为什么 APP 扫码绑定后必须保持手机网络能正常访问到你的服务器。如果手机和服务器不在同一网络或者服务器防火墙限制了外网访问APP 就会出现「连接失败」「无法连接到服务器」的报错此时先别怀疑 APP 坏了应该先用手机浏览器访问客服聊天链接测试看能不能打开页面。5. PHPlivechat 避坑排查安装白屏、扫码失败、APP 连不上的五个案例5.1 安装页面访问后直接白屏或 500 错误现象域名解析正常、站点创建成功但访问首页或安装页面时页面完全空白或者返回 500 Internal Server Error。原因大部分时候是 PHP 版本过高导致源码中的老函数无法识别。我在 PHP 7.4 环境下测试时白屏率几乎是 100%。另外伪静态规则未生效、.htaccess文件被隐藏或未上传也会导致 Apache 找不到路由。解决去宝塔「网站」→「设置」→「PHP 版本」把当前站点的 PHP 切换到 5.6 或 7.0。如果你的宝塔还没装 PHP 5.6先在软件商店里安装。然后查看网站目录下是否存在.htaccess文件——注意Linux 下以点开头的文件在文件管理器里默认是隐藏的需要开启「显示隐藏文件」。确认.htaccess存在后访问你的域名/index.php试试能出页面就说明环境通了。5.2 安装完成后后台登录页跳回安装页现象安装进度提示 100% 成功但访问后台登录地址时页面又跳转回安装向导循环往复。原因这套系统的安装完成校验逻辑是检查config目录下是否生成了数据库配置文件。安装页面写入配置时如果目录权限不足或者 PHP 的file_put_contents函数被禁用配置文件没有真正写进去。系统判断「未安装」于是继续跳安装页。解决进入宝塔「文件」管理器定位到/www/wwwroot/你的域名/php/config/或类似路径查看目录下有没有生成类似config.php或database.php的文件。如果没有手动创建一个空文件并赋予 644 权限然后重新打开安装页面完成安装。如果文件存在但内容为空说明写入失败了把这个文件删除修改目录权限为 755、属主为 www再走一遍安装流程。5.3 APP 扫码后提示无权限或绑定失败现象手机扫码识别成功后APP 弹窗提示「无权限」「绑定失败」或「服务器验证失败」二维码明明扫到了。原因二维码内编码的服务器地址是生成时系统自动填充的。如果你的站点是通过 IP 访问的二维码可能被编码成了127.0.0.1或localhost手机 APP 去连localhost时实际连的是手机自己自然失败。另一个原因是 APP 在解析二维码时对http和https协议有要求HTTPS 站点生成的二维码却包含 http 前缀也会绑定失败。解决在 Web 管理后台找到二维码生成页面看看二维码图片下方是否有关联的文本链接或「服务器地址」配置项。如果有把它改成你服务器的公网 IP 或域名重新生成二维码。如果后台没有这个选项用手机浏览器访问客服聊天链接确认手机能正常打开网页后再回后台刷新二维码页面试一次。Android 的 WebView 有时会缓存旧的二维码页面把 APP 彻底关掉重开再扫一次。5.4 客服聊天链接样式错乱只有文字没有样式现象打开你的域名/php/app.php?widget-mobile后页面能用但完全没有 CSS 样式按钮是裸的、布局是竖着堆的。原因CSS 文件路径是相对路径而 index.php 中加载资源时缺少入口文件层级。更常见的原因是在 Nginx 环境下伪静态规则没配置好导致 css 和 js 文件被 PHP 拦截或返回 404。Apache 环境下的相对路径通常没问题但如果你启用了 CDN 加速且 CDN 缓存了旧的 HTML 页面也会出现 CSS 加载不出的情况。解决用浏览器开发者工具F12的 Network 面板刷新页面找到加载失败的 CSS 文件看它的请求 URL 是什么。如果请求 URL 和实际文件路径不一致说明路由重写有问题。在宝塔伪静态设置里选择 Apache 默认的.htaccess支持或者改成try_files规则放行静态文件。如果是 CDN 的原因把 CDN 暂停或刷新缓存后重新拉取。5.5 PHP 7.2 环境下客服端页面报each()函数错误现象安装流程能走完但进入客服聊天页面或者 APP 工作台时页面报错提示Deprecated: Function each() is deprecated或直接白屏。原因each()函数在 PHP 7.2 被标记为弃用PHP 8.0 被彻底移除。这套 PHPlivechat 的部分循环遍历逻辑用了while (list($key, $value) each($array))的写法PHP 7.2 下会抛弃用警告部分环境直接不在页面显示错误信息而是阻断后续代码执行看起来就是白屏。解决最省事的方法是降级到 PHP 5.6一劳永逸。如果非要停在 PHP 7.2可以在php.ini里把error_reporting改成E_ALL ~E_DEPRECATED屏蔽弃用警告但这种方法只是治标PHP 8.0 下依然会挂。我个人的建议是老实留在 5.6除非你有能力把源码里的each()循环手工重构成foreach。6. 验证部署与日常维护widget-mobile 链接与备份习惯部署完成后建议从三个入口分别验证系统是否真正可用。第一个入口浏览器无痕模式访问你的域名/php/index.php如果能正常显示客服登录后台说明 Web 端部署成功。在这里用管理员账号登录创建一个新的客服账号再在「客服管理」里查看该客服的专属聊天链接。第二个入口访问你的域名/php/app.php?widget-mobile注意不要自动跳转到 index.php。看到的是移动端客服工作台页面说明移动端聊天组件资源正常加载。如果这个页面能打开再在电脑浏览器里打开后台的二维码页面确认二维码能正常显示APP 扫码绑定才有意义。第三个入口手机上用 APP 完成绑定登录然后在电脑浏览器新开一个无痕窗口访问前台聊天入口模拟访客发送一条消息。如果手机 APP 上能同步弹出这条消息并发起回复说明从访客到客服的完整链路是通的。这三步走完这套 PHPlivechat 才算真正落地。日常维护方面我见过太多人装完就不管了直到数据库文件损坏、聊天记录全部丢失才去找备份。我的习惯是每三天通过宝塔的「计划任务」做一次站点文件和数据库的自动备份保留最近 5 份。这套系统的聊天记录存在数据库里数据库备份就是客服记录的后悔药。源码包自带的是安装向导但升级和搬家的时候直接复制整站文件和数据库到新服务器改一下数据库连接配置就能重新跑起来这个流程最好在测试环境先演练一遍真到迁移那天你就知道省了多少事。另外一个常被忽略的验证点是时区设置服务器时区如果是 UTC访客和客服看到的聊天时间会差 8 个小时排查起来非常迷惑。建议部署完成后就确认 PHP 的date.timezone配成Asia/Shanghai。从那以后我每装完一套客服系统都会先把这个三个入口的时间戳对比一遍确认时间一致再交付给运营。希望帮到你。本文还有配套的精品资源点击获取
返回列表