phpStudy 如何部署符号象客户关系管理系统(ThinkPHP 8)记录

给一套 ThinkPHP 8 写的 CRM 做 phpStudy 部署,源码地址 https://gitee.com/ymwl2/fhxcrm,直接下的 master.zip。

把过程和踩的坑记一下,后面复装能直接抄。

动手之前,先交代一句这套系统是干嘛的,免得装完发现不是自己要的。符号象 CRM 是面向销售团队的客户关系管理系统,后台 Layui,移动端 uni-app(H5/小程序/App 一套代码)。客户、线索、商机、合同、回款这条销售主链路是通的,外带公海池、跟进记录、审批流程、业绩看板。

它最拿得出手的是两点:

  • 自定义字段:不用改代码,后台配一下就能给客户加行业专属字段,制造、贸易、服务、教育都能往里套,省得每换一个行业单独开发一套。
  • 权限分级:RBAC 权限节点 + 角色组 + 数据范围(我的/下属/全部)三级管控,谁能看什么数据、谁只能看自己的,管得清楚。

另外还支持插件扩展、SMTP 邮件、电话助手这些。拿来给销售团队内部用,或者当二次开发模板练手都行。

介绍完它能干嘛,下面进入正题,从环境开始。

环境要求

要求
PHP 8.0 及以上,我用 8.2
MySQL 5.7 / 8.0,要 utf8mb4
扩展 fileinfo、gd、curl、mbstring、pdo_mysql、openssl、zip

三个要点先记下来:

  1. 入口要绑 public 。这套是 ThinkPHP 多应用,admin.phpapi.phpinstall.php 都在 public/ 下面。站点根目录设成源码根目录也能跑,但源码直接暴露在 Web 下,作者文档也让绑 public。
  2. 源码不带 vendor。框架本体靠 Composer 装,压缩包里没有,必须先 composer install,否则进去就报错。
  3. 扩展由安装向导检测,缺一个都走不到下一步。phpStudy 装完 PHP 8.2 不会自动配扩展,得自己建个 php.ini 补上(见下一节)。

装 phpStudy

phpStudy(小皮面板),Apache/Nginx、PHP、MySQL 都打包好了。

  1. 官网下 Windows 安装包,默认装,下载地址https://public.xp.cn/upgrades/phpStudy_64.zip。
  2. 软件管理里装三样:Web 服务器(Apache 或 Nginx 二选一,图省事选 Apache)、PHP 8.2、MySQL 5.7 或 8.0。
  3. 回首页把 Web 服务器和 MySQL 启动起来。

装完 PHP 8.2 有个坑,扩展不会自动配好,得自己建 php.ini。到 PHP 目录(比如 D:\phpstudy_pro\Extensions\php\php8.2.9nts\)新建 php.ini,写:

ini 复制代码
extension_dir="D:\phpstudy_pro\Extensions\php\php8.2.9nts\ext"
extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=zip
extension=gd

extension_dir 换成你自己的实际路径。存下来重启 Web 服务,命令行 php -m 能列出这些扩展就对。

root 密码默认是 root,线上使用建议创建独立的数据库账号密码。

解压源码 + 建站

先解压 master.zip 到一个不带中文、不带空格的目录,比如 D:\www\fhxcrm。放桌面或有中文路径,后面会报些莫名其妙的错。

然后 phpStudy 建站:

  1. 「网站」→「创建网站」。
  2. 域名填 127.0.0.1(本机调试);根目录选到 D:\www\fhxcrm\public,注意是 public 不是源码根目录;PHP 版本选 8.2。
  3. 保存,确认站点是启动状态。

根目录选成 public,图片上传和目录安全才正常。绑源码根目录短时间能用,安全性差。

装 Composer

源码没 vendor,得先有 Composer。phpStudy 自带具体进入软件管理切换到composer项,直接选择composer2.5.8版本安装

  1. 在 phpStudy 里选中刚建的那个网站,点「管理」,打开「composer」菜单(这个菜单要站点建好了才有)。

  2. 弹窗里两个版本都要手动选:composer 选 2.5.8,PHP 选 php8.2.9nts

  3. 确定后弹出一个 cmd 窗口,它默认可能停在 public 目录------先 cd .. 切回项目根目录(能看到 composer.json 的那一层),不然 composer install 找不到 composer.json。

装完先配国内镜像,不然 composer install 慢到爆:

bash 复制代码
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

全局配置,配一次就行。

composer install

在项目根目录(D:\www\fhxcrm,能看到 composer.json 的那层)跑:

bash 复制代码
composer install

装完目录里多出 vendor 文件夹就成了。报错查三样:PHP 是不是 8.0+、镜像配没配、是不是 32 位 PHP。

数据库(可以不动,向导会自动建)

账号有建库权限(root 就有),向导会 CREATE DATABASE IF NOT EXISTS 自动建库,不必先手动建。

想手动建就 phpMyAdmin 用 root 登录,新建 fhxcrm,排序规则 utf8mb4_unicode_ci,建个空库就行,表不用建。

⚠️ 风险:重新安装会清空原数据。建表 SQL 里每张表都是 DROP TABLE IF EXISTS 先删再建,删了 config/install.lock 重装、或换库重导,之前录的客户、合同、跟进记录全没。重装前先备份数据库。

跑 install.php

浏览器开 http://127.0.0.1/install.php实际就是创建的网站域名,三步:

第一步 环境检测:自动查 PHP 版本、扩展、上传大小、目录权限,全绿走下一步;有红的按前面补开扩展再点「重新检测」。

第二步 填信息

数据库:

  • 服务器 127.0.0.1
  • 端口 3306
  • 用户名 root
  • 密码:上面设的
  • 库名:fhxcrm(有权限自动建)
  • 表前缀 ymwl_(默认)
  • 编码 utf8mb4

填完账号密码失焦会自动测试连接,连不上立刻能看出来。

管理员:账号默认 admin,密码 6~32 位,邮箱必填。

第三步 完成 :导表、写 config/database.php、生成 config/install.lock,并把密钥 APP_KEY/COOKIE_CRYPT_KEY 写进根目录 .env

登录和收尾

后台 http://127.0.0.1/admin.php,用刚设的账号登录。

登录后看到上面这个界面就表述安装成功了

装完三件事:

  1. app/install/install.php(根目录和 public 下都有),防止被重装。
  2. public/admin.php 改名,比如 mycrm2026.php,后台入口别用默认名。
  3. 备份 config/database.php

改完页面异常就清缓存:后台右上角,或命令行 php think clear

定时任务(可选)

跟进、回款、合同到期提醒靠定时访问这个地址触发:

复制代码
http://127.0.0.1/index.php/cron/index?token=xxx

token 在 config/app.phpcron_token,默认 your_cron_token_here_2026,上线前改掉。别去改 Cron.php,它是读配置的,改了没用。

phpStudy 面板里没有计划任务,Windows 用任务计划程序:

  1. Win+Rtaskschd.msc 回车;
  2. 创建基本任务,名称随意;
  3. 触发器每天、重复间隔 1 小时;
  4. 操作选启动程序,程序 curl.exe(Win10 1803 之后自带),参数填那串地址。

懒得配本机就交给在线 cron(cron-job.org)。

踩坑记录

  • install.php 第一步有扩展红 / php -m 看不到扩展 :多半是 php.ini 没建对,或 extension_dir 路径写错。按上节把 php.ini 内容补全(重点 fileinfo、gd),存下重启 Web 服务,回检测页「重新检测」。
  • 上传附件失败 / 验证码不显示:fileinfo、gd 没写进 php.ini,同上补上。
  • composer 菜单弹的 cmd 停在 public 目录 :先 cd .. 回项目根目录再 composer install。
  • composer install 卡住或报错:三查------镜像、PHP 版本、路径中文。
  • install.php 提示已安装config/install.lock 存在,删了再访问(会清配置,先备份)。
  • 填库提示「配置的数据库存在数据」:库不是空的,换空库或清空(清空会丢数据,先备份)。
  • 后台样式错乱:删 runtime 目录或后台清缓存。

这套流程走下来基本就明白了:gitee 上类似的 PHP 源码项目,部署都是同一个套路------phpstudy 配环境、composer 装依赖、绑 public、跑 install 向导。会了这一套,其他 ThinkPHP 或常规 PHP 项目也能照这个思路装。

相关推荐
RestCloud7 天前
不同系统集成:CRM系统与ERP、财务系统的数据双向同步
etl·crm·erp·数据集成·etlcloud·数据传输·数据同步
在呢1 个月前
ThinkPHP 事务机制详解
thinkphp
北漂燕郊杨哥1 个月前
phpStudy 手工安装最新稳定版 PHP 8.5.9(NTS)方法(Windows 本地开发)
windows·php·phpstudy
摆烂菜鸡沧9961 个月前
【项目踩坑记录】Cloudflare部署记录与修改二级域名
cloudflare·网站部署
FIT2CLOUD飞致云1 个月前
操作教程丨在千问办公中使用Cordys CRM Skills技能,落地AI CRM
ai·开源·crm·销售管理·cordys crm·千问办公
FIT2CLOUD飞致云1 个月前
移动端审批功能上线,导入功能持续增强,Cordys CRM发布v1.8.0版本
ai·开源·crm·销售管理·ai crm·cordys crm
wordpress资料库2 个月前
小皮面板wordpress本地更新插件失败的原因和解决方法
小皮面板·wordpress本地环境·插件更新失败
Liquad Li2 个月前
Salesforce高级开发面试题
java·网络·面试·crm·salesforce
Odoo老杨3 个月前
如何直接在线定制修改 Odoo UI界面?
css·python·crm·odoo·erp·中小企业数字化