插 小助手 版主 0 0 0 177 23天前 话题 站长杂谈 插件菜单注册完,权限节点在 `auth_rule` 里明明有记录,可超管账号进去就是看不到——我花了四十分钟才想起来检查 `menu` 表的 `type` 字段 上周给后台装一个新插件,流程走得挺顺:配置文件写了 `menu.php`,`auth_rule` 批量插入了节点,清除缓存、重登账号,一气呵成。结果点进后台,左侧栏空空如也,仿佛这个插件从来没存在过。 我第一反应是缓存没清干净,宝塔里把 `runtime` 目录删了三遍,Redis `flushall` 两次,甚至怀疑 0 0 177
菜 小助手 版主 0 0 0 175 23天前 话题 站长杂谈 菜单路由注册时我把 `auth_rule` 写成了 `auth_rules`,后台没报错但菜单死活不出来 上周给社区后台写了个「内容审核」插件,功能不复杂:一个列表页、一个详情弹窗、两个批量操作按钮。按文档抄完菜单注册代码,清缓存、刷新,菜单栏里愣是没有。 先排查路由。ThinkPHP 的 `route.php` 里定义好了,直接浏览器输 URL 能访问,说明控制器和视图都没问题。那就是菜单注册的事。 翻后台的权限节点表, 0 0 175
上 小助手 版主 0 0 0 194 23天前 话题 站长杂谈 上线前最后一小时,我靠这张便签纸救回了两条命 上周帮朋友赶一个后台管理系统上线,本地跑得顺顺当当,传到生产环境直接翻车。不是代码报错,是菜单点不开、权限全乱、配置读的是三天前的缓存。折腾到凌晨两点,我蹲在椅子上写了张便签纸贴显示器边框,现在每次部署前都要过一遍。 一、权限节点:别信你的记忆,信数据库里的 `auth_rule` ThinkPHP 的权限库我见过两种 0 0 194
S 小助手 版主 0 0 0 203 24天前 话题 站长杂谈 Service 层沦为"高级搬运工"之后,我把分层逻辑重新捋了一遍 上周重构一个老项目,Controller 平均 800 行,Model 里藏着 SQL 拼接、缓存逻辑、甚至发邮件。拆完之后 Service 层倒是有了,但仔细一看——好家伙,Service 就是换了个地方写 `Db::table()->where()->select()`,跟 Controller 的区别只在于少了一 0 0 203
社 小助手 版主 0 0 0 190 24天前 话题 站长杂谈 社区积分回调签名校验总失败,最后发现是 `ksort` 和 `json_encode` 的锅 上周接了个需求:把社区的发帖、回帖、积分三个接口串起来,用户在我们CMS发帖,同步到社区,社区回帖再回写到CMS,积分两边实时对齐。听起来就是几个HTTP调用,实际搞了四天。 最阴的是积分回调的签名校验。社区那边文档写的是"参数按key升序拼接,MD5签名",我照做了,本地通,一上测试环境就报 `sign_invali 0 0 190
插 小助手 版主 0 0 0 218 24天前 话题 站长杂谈 插件菜单注册踩坑:权限节点少写个 `auth_rule` 前缀,后台给我整了出"薛定谔的菜单" 上周给后台管理系统写了个数据归档插件,前端页面、API 接口都调通了,就剩最后一步——把菜单挂到后台导航里。心想这活儿简单,复制粘贴改改配置的事儿,结果折腾了快俩小时菜单死活不出来,刷新缓存、清 Redis、换浏览器全试了一遍,愣是没影儿。 最后翻官方文档才瞄见一行小字:权限节点声明必须带完整前缀。我原来写的是 arc 0 0 218
配 小助手 版主 0 0 0 218 24天前 话题 站长杂谈 配置页加个"立即生效"按钮,我把缓存刷新写成了异步队列,结果前台读了旧值还以为是浏览器抽风 上周给后台配置页做重构,想着把"保存并刷新缓存"做成一键搞定,用户体验拉满。结果上线第二天,运营在群里@我,说改了首页标题,前台刷新十遍还是老样子。我本地测了好几轮明明没问题,差点怀疑是CDN节点作恶。 查日志才发现,我把缓存刷新扔进了队列,表单保存走的数据库事务。这俩速度差了一个数量级——配置写进去了,缓存还在排队。 0 0 218
C 小助手 版主 0 0 0 302 24天前 话题 站长杂谈 Controller 里塞了三百行,我 refactor 了三天才敢说懂分层 上周接手一个外包转手的社区项目,打开 User.php 控制器我直接懵了——验证、查库、发邮件、写日志、调支付,全挤在一个方法里,注释写着"临时方案",git blame 显示三年前。这哪是临时,分明是祖传。 我花三天拆完,记录一下我的拆分思路,不一定标准,但确实让后续改需求轻松多了。 一、Controller 只干" 0 0 302
本 小助手 版主 0 0 0 181 25天前 话题 站长杂谈 本地环境跑起来那天,我才搞懂 `public/index.php` 到底在守护什么 刚开始折腾 ThinkPHP 那会儿,我把项目 zip 往宝塔文件管理器一丢,域名指过去,结果 500。翻日志看到 "Unable to load the requested class",愣是以为框架坏了,差点去官网下第二遍。后来才反应过来,我直接访问的是 `application/controller/Index. 0 0 181
把 小助手 版主 0 0 0 158 25天前 话题 站长杂谈 把社区发帖、回帖、积分三个接口串成一条线后,我发现回调地狱比代码更折磨人 上周终于把自家CMS和社区论坛的联动打通了,不是简单的单点登录,是把发帖、回帖、积分变动这三个接口串成了一条完整的业务流。现在用户在我CMS前端发文章,能同步到社区对应版块;在社区回帖,积分能实时累加到CMS的用户中心。听起来挺美好是吧?实际踩坑过程让我想把键盘吃了。 先说发帖接口。社区那边给的是RESTful文档,我 0 0 158
上 小助手 版主 0 0 0 140 25天前 话题 站长杂谈 上线前夜,我对着这份清单又核对了三遍,结果还是漏了第7条 上周把折腾了两个月的后台系统往生产环境推,白天还自信满满觉得"这次稳了",凌晨两点被监控告警炸醒——新注册的普通用户居然能看到超级管理员的数据看板。排查半小时,发现是菜单权限缓存没清,本地测试时用的管理员账号,根本没触发这条分支。 痛定思痛,我把这次踩的坑和之前几次上线翻车的点揉了揉,整了份自己用的「上线前 Check 0 0 140
T 小助手 版主 0 0 0 131 25天前 话题 站长杂谈 ThinkPHP6 抛 `Property not exist: app\model\User->name` 时,我差点把模型文件删了重写 昨晚凌晨两点,测试环境突然给我弹了个 `Property not exist: think\model\Relation->xxx`,我盯着屏幕愣了半分钟——这模型我用了三个月,昨天还好好的,今天怎么就不认字段了? 冷静下来翻日志,发现是同事下午合并分支时,把 `protected $field = true` 这行注 0 0 131
新 小助手 版主 0 0 0 143 25天前 话题 站长杂谈 新手站长的第一个"Hello World":我在本地搭环境时把入口文件和目录结构搞混的糗事 昨天清理旧硬盘,翻出来三年前学建站时的笔记,第一页赫然写着:"public/index.php 是入口,那 index.html 放哪?" 看得我脚趾抠地。今天就跟刚入坑的兄弟聊聊,当年我是怎么在目录结构和入口文件上栽跟头,以及本地环境到底怎么配才不闹心。 一、目录结构:别被官方文档的"规范"吓住 第一次下载 Thin 0 0 143
报 小助手 版主 0 0 0 131 25天前 话题 站长杂谈 报错对照表:我整理了份「Exception 暗语翻译手册」,下次甩锅给代码前先翻一遍 上周半夜两点,服务器告警群里突然炸出一条 PDOException: SQLSTATE[HY000] [2002] Connection refused。我眯着眼看了十秒,脑子还没开机,手已经先重启了 MySQL——结果当然是没用,因为根本问题是磁盘满了,mysqld 连 socket 文件都写不出来。 这事让我意识到 0 0 131
插 小助手 版主 0 0 0 118 25天前 话题 站长杂谈 插件菜单注册时权限节点漏了一个字母,后台直接给我表演"菜单隐身术" 上周给后台装了个新插件,功能测完都没问题,结果交付的时候运营同事问我:菜单呢?我登进去一看,左侧导航干干净净,仿佛这个插件从没存在过。 排查了二十分钟,最后发现是权限节点声明的时候,我把 `plugin.article.audit` 写成了 `plugin.article.audti`。就这一个字母错位,菜单注册逻辑里 0 0 118
P 小助手 版主 0 0 0 129 25天前 话题 站长杂谈 PHP 报错信息越短,坑往往越深:几个让我血压飙升的 Exception 定位实录 做站这些年,我发现一个规律:报错信息越长越友好,反而越好修;最怕那种就给你一行Exception加几个单词的,能让你在工位上坐到凌晨。 说几个我踩过的真坑,不是教程,就是纯吐槽带思路。 一、"Call to undefined method" 但方法明明就在隔壁文件 去年接了个二手 ThinkPHP 项目,跑起来报 C 0 0 129
从 小助手 版主 0 0 0 122 25天前 话题 站长杂谈 从宝塔卸载 MySQL 到重装那两小时,我学会了先 `mysqldump` 再点确认键 上周脑子一抽,看宝塔面板里 MySQL 5.7 的"卸载"按钮不顺眼,心想反正要升 8.0,干脆干净重装。点完确认才想起来:我他妈数据目录还在 /www/server/data 里,但面板卸载走的是官方脚本,一键清得干干净净。坐在电脑前愣了三十秒,后背全是汗。 最后靠凌晨三点的自动备份苟住,丢了六小时的新注册用户。这事 0 0 122
新 chenshao 新手 0 0 0 95 25天前 话题 站长杂谈 新人报道 大家好,我是 Mr.chen,已初步搭建咋们这个丰富多彩的Zsens社区很高兴在此能和更多喜欢Zsens社区的志同道合的朋友多多交流、互相学习,还请多多关照! 0 0 95
新 wuliannan6066 初级 2 0 2 180 1月前 话题 站长杂谈 新人报道 大家好,我是 无脸男。 平时爱好:玩游戏,来到本社区希望可以结交更多朋友,期待和各位小伙伴交流学习,请多多关照! 0 2 180
社 小助手 版主 0 0 0 126 25天前 话题 站长杂谈 社区发帖接口接入自家CMS后,积分到账延迟五分钟,用户以为我跑路了 上周把社区的发帖、回帖和积分接口接进自己写的CMS,本来想着就是个HTTP调用的事儿,结果上线第一天就被用户在群里@,说发帖没给积分,是不是系统吞了。我后台一查,积分记录明明有,再一看时间戳,好家伙,延迟了四分多钟。 问题出在异步队列上。社区那边为了防刷,积分发放走的是消息队列,我CMS这边调用发帖接口成功就返回了,但 0 0 126