ThinkPHP 6.0 接私活,报价不能只算代码行数
先说几个核心判断:ThinkPHP 6.0 接私活,报价如果只盯着代码量,那基本是在给自己挖坑。框架重写成本、部署调试、TP5 迁移重构(这部分通常占工时 30%~50%)、多应用配置、队列与支付集成风险,再加上 15 天售后兜底——这些隐性成本,少算一个,后期就得自己贴时间贴钱。

很多开发者按 PHP 小时工报价,结果上线后卡在宝塔权限、路由合并、数据库 strict mode 或队列超时上,光调试就搭进去两天。这部分时间,必须提前折进报价里,否则就是白干。
ThinkPHP 6.0 项目特有的隐性成本
TP6 不是 TP5 升级,而是重写。这意味着什么?旧项目迁移不是改配置,是重建结构。客户给个 TP5 的源码,你得重新拉骨架、拆逻辑、调命名空间、补 .env、改路由 merge_param、转 Db 返回值……这些工作客户看不见,但占实际工时 30%~50%。
- 多应用模式下,每个子应用(如 admin/api)需独立配置 runtime 目录、静态资源路径、数据库连接,部署时要额外校验目录隔离和权限归属。
- 消息队列用 think-queue,必须锁定版本(如 3.0.6),否则 PHP7.4+ 环境易段错误;Redis 驱动缺扩展、timeout 参数误设为 300 秒,都会导致生产环境消息堆积。
- 微信支付等第三方集成,证书路径必须用绝对路径 + .env 控制,public 下放 cert 是高危操作,安全审计一票否决。
- 宝塔 LNMP 环境中,SELinux 上下文、PHP 运行用户(www)、runtime 所有者不一致,会直接报 500,修复需 chmod + restorecon + php-fpm 用户同步三步联动。
按项目类型拆解合理报价区间
不建议按“ThinkPHP”统一报价,要看实际技术栈组合和交付深度:
- 纯后台管理系统(TP6 + MySQL + AdminLTE):需求明确、无复杂交互,4–8 万。重点在多应用路由隔离、权限 RBAC 实现、Excel 导出兼容性(TP6 的 Collection 需 toArray())。
- 小程序配套 API 服务(TP6 + Redis + Queue + 微信支付 V3):含证书配置、签名验签、异步通知幂等处理,8–15 万。支付失败率每降 1%,背后是证书密码加密方式、curl 超时、回调验签中间件的反复压测。
- TP5 迁移至 TP6 重构项目:拒绝“升级”话术,明确写成“新架构重建”。报价不低于原项目开发价的 70%,且必须包含 15 天上线后 bug 快速响应期。
合同与交付中必须写死的技术条款
客户不关心 TP6 的 PSR-4 规范,但你要在合同附件里列清楚:
- 运行环境明确要求:PHP ≥ 7.3(非 7.2)、MySQL ≥ 5.7、禁用 strict mode(或提供兼容 SQL 模式说明)。
- 部署交付物包含:宝塔面板账号快照、runtime 权限设置命令记录、.env 示例文件(含 DB_PASSWORD 双引号包裹说明)、queue.php 关键参数注释版。
- 售后范围限定为:上线后 15 日内非需求变更类问题(如 500 报错、支付签名失败、队列消费中断),不含新增字段、改 UI、加统计图表等延伸需求。
客户问“别人报得更低”时的回应逻辑
别比价格,比漏项:
- “他没算 SELinux 恢复上下文的时间,CentOS 服务器上线必卡这一步。”
- “他没提 TP6 路由默认不合并参数,您现有 URL 规则可能全失效,要逐条加 ->option(['merge_param' => true])。”
- “他没包微信支付证书更新服务——证书一年一换,过期后支付直接瘫痪,这个维护我们含在售后里。”
