php教程技术文章
-
用一个可运行的 PHP 小项目实现一次性下载链接:服务端只保存令牌哈希,链接有明确过期时间,并在发送文件前用 SQLite 事务完成原子核销。391 收藏 -
文章 · php教程 | 19小时前 | PHP · 函数式编程 · 升级 · PHP 8.5 · 管道操作符 · 代码可读性 · PHP 8.5 PHP 管道操作符 PHP |> 运算符 PHP 函数链 PHP 8.5 升级 PHP 输入清洗
PHP 8.5 已引入 |> 管道操作符,适合把一连串单输入、单输出的处理写成从左到右可读的链。本文从后台内容标题清洗场景出发,对比嵌套调用与管道写法,说明适用边界、版本落地方式,以及不该为了新语法强行改造的几类代码。445 收藏 -
文章 · php教程 | 19小时前 | PHP · api设计 · url编码 · 后端开发 · http_build_query · 查询参数 · PHP http_build_query PHP 数组参数 URL 查询参数 PHP_QUERY_RFC3986 重复键参数 接口参数设计
PHP 的 http_build_query 会把数组编码成带下标的方括号参数;这和不少接口要求的重复键写法不是一回事。用一个筛选接口场景梳理数组、null、空格编码与兼容策略,避免请求串看着对、下游却读不出参数。245 收藏 -
PHP 导出或后台列表一到几十万行就内存耗尽,常见原因不是 PDO 连不上,而是 fetchAll() 一次把剩余结果集堆进数组。先用最小测量定位峰值,再按用途改成 SQL 限制、逐行 fetch() 或分页批处理,才能把结果集大小和内存边界重新拉回可控范围。495 收藏 -
PHP 8.4 会弃用 Type $arg = null 这种隐式可空签名。文章用旧写法与 ?Type、Type|null 的对比,说明兼容边界、扫描方法、回归检查和可分批落地的迁移清单。317 收藏 -
文章 · php教程 | 1星期前 | nginx · php-fpm · php教程 · 502错误 · 故障复盘 · 慢日志 · Nginx php-fpm 性能排查 PHP教程 502 Bad Gateway pm.max_children 慢日志
PHP-FPM 子进程打满时,502 往往不是单纯把 pm.max_children 调大就能解决。更稳的排查顺序是先看 Nginx upstream 错误和 FPM 状态页,再用慢日志找到长时间占用子进程的请求,最后把容量、慢查询、限流和告警一起补齐。407 收藏 -
文章 · php教程 | 1星期前 | 日志 · HTTP · 超时控制 · php教程 · 接口监控 · 请求超时 stream_context_create PHP教程 PHP HTTP请求 接口探测器
用 PHP 写一个小型 HTTP 探测器,重点不是只把远程接口请求通,而是给连接设置超时、拿到状态码、记录耗时和错误信息,并让接口返回可验收的 JSON。文章用原生 stream_context_create 串起入口接口、请求函数、日志文件和验收清单,适合放进定时任务或后台健康检查。289 收藏 -
文章 · php教程 | 1星期前 | 文件上传 · 后端开发 · php教程 · 安全校验 · move_uploaded_file $_FILES finfo_file PHP上传文件 文件安全校验
PHP 文件上传不要只看后缀名,要先检查上传错误码和大小,再用 finfo_file 识别 MIME,最后用随机文件名和 move_uploaded_file 移到受控文件夹。409 收藏 -
PHP 默认文件会话在同一用户并发请求下容易因为会话锁排队,接口越慢越明显。优化思路不是简单换 Redis,而是先缩短会话锁持有时间,再把会话存储迁到 Redis,并补上 TTL、回退和监控信号。164 收藏 -
文章 · php教程 | 1星期前 | 文件上传 · php教程 · $_FILES · 上传安全 · MIME · PHP文件上传 move_uploaded_file $_FILES 文件校验 MIME PHP教程
PHP 文件上传不能只判断扩展名后直接保存。更稳的做法是把上传当成一条数据生命周期:接收 $_FILES,检查错误码、大小、MIME 和真实扩展名,生成服务端文件名,保存元数据,并配套清理临时文件和过期文件。242 收藏 -
PHP 表单校验失败时,不要只返回一条错误信息。本文用服务端校验、字段级错误、旧输入回填和可访问提示,整理一套更友好的表单处理方式。134 收藏 -
文章 · php教程 | 2星期前 | Redis · 迁移 · session · php教程 · 登录态 · redis session phpredis PHP教程 session.save_handler 分布式登录 回归检查
围绕 PHP Session 从本机文件迁移到 Redis 的过程,梳理旧架构风险、配置变更、锁等待、TTL 清理、内存水位、回滚开关和上线回归检查。145 收藏 -
以 PHP 老接口迁移为例,把散落的 $_POST 读取改成 Request DTO、集中校验和统一错误响应,给出变更表、新写法、回归请求和分批迁移清单。199 收藏 -
PHP 表单提交成功后如果直接返回结果页,用户刷新可能再次发起 POST,造成重复写入。本文从用户任务、交互拆解、组件实现、可访问性、性能检查和边界状态讲清 PRG 模式与闪存提示的落地方式。232 收藏 -
PHP-FPM 慢请求报警不要只盯接口耗时。本文用运行手册方式梳理触发信号、slowlog 快速判断、进程池参数调整、回滚路径和告警确认,帮助把一次临时排障沉淀成可复用流程。336 收藏