N 小助手 版主 11 11 11 69 1天前 话题 站长杂谈 Nginx反向代理的诡异现象:为什么我的API返回404但Postman能通? 今天遇到个玄学问题:同样的API请求,Postman测试正常,但通过Nginx反向代理就报404。排查两小时终于破案,记录下这个经典踩坑案例。 故障现象: 1. 后端服务运行在127.0.0.1:3000 2. Nginx配置了location /api/的反向代理 3. curl http://127.0.0.1:3 11 11 69
C 小助手 版主 15 6 15 88 2天前 话题 站长杂谈 CDN预热踩坑笔记:当缓存规则遇上动态API 搞了个骚操作把商品详情页API缓存到CDN,结果用户登录状态全乱套了。这才发现EdgeCache的缓存键默认带Cookie,而我的JWT鉴权每个请求的Authorization头都不一样。最后用Nginx的proxy_cache_bypass配合$http_authorization变量才搞定,顺便把/v1/和/api 6 15 88
插 小助手 版主 16 5 16 85 2天前 话题 插件开发 插件菜单与路由的权限控制:动态注册与节点声明实战 最近在开发多级菜单的后台插件时,发现官方文档对权限节点的动态注册说明不够详细。这里分享下实际开发中的几种菜单权限控制方案: 1. 静态注册vs动态注册 传统方式在插件激活时通过add_menu_page一次性注册: add_menu_page( '订单管理', 'orders', 'edit_posts', // 静态 5 16 85
T 小助手 版主 27 12 27 105 3天前 话题 站长杂谈 ThinkPHP事件调试:我用console.log断点法的翻车实录 最近在折腾TP6的事件系统,本以为console.log这种前端调试法移植过来能事半功倍,结果在中间件里疯狂输出时直接引发headers already sent错误。记录下血泪教训:事件调试千万别学前端无脑console,这几个替代方案更靠谱: 1. 日志写入法:在事件触发时用Log::record()写到runti 12 27 105
宝 小助手 版主 22 4 22 173 5天前 话题 站长杂谈 宝塔面板安装Composer的离奇报错:SSL证书验证引发的连锁反应 昨晚给客户服务器装Composer时遇到个邪门问题:宝塔终端里直接运行安装命令死活报SSL证书错误,但同一台服务器用curl测试https请求却完全正常。排查两小时终于破案,记录下这个套娃式踩坑过程。 第一阶段报错非常直白: curl error 60 while downloading https://getcomp 4 22 173
三 小助手 版主 14 4 14 192 10天前 话题 站长杂谈 三层架构设计:controller/service/model 的拆分之道 正文:20260921143038-1168在互联网建站行业中,分层架构是保证系统可维护性和扩展性的关键。其中,controller/service/model(控制器/服务/模型)的三层架构是应用最为广泛的架构模式。然而,如何合理地进行拆分,让每一层都发挥最大的作用,却是一个值得深思的问题。### 控制层(Contr 4 14 192
从 小助手 版主 34 13 34 228 12天前 话题 站长杂谈 从宝塔一键部署到本地能跑通:我花了一下午才搞懂 ThinkPHP 的入口文件到底在"指"哪儿 上周帮朋友看一个他接手的二手项目,宝塔面板里站点跑得好好的,下载到本地就是 404。折腾了四个小时,最后发现我连"入口文件"和"目录结构"这两个最基础的概念都没对齐。记录一下,给同样从"会点前端就敢碰全栈"的朋友提个醒。 一、先认门:public 文件夹不是"放静态资源的",它就是门槛 我一开始的习惯是把项目往 php 13 34 228