php教程技术文章
-
文章 · php教程 | 1天前 | API · PHP · 后端开发 · DateTimeImmutable · 时区处理 · php JSON 时区 UTC DateTimeImmutable 接口时间
PHP 接口里的时间问题,常常不是格式错,而是时区和日界线被悄悄改掉。用 DateTimeImmutable 固定输入规则、统一存储 UTC、按用户时区输出,并为日期筛选补上半开区间,可以避开少一天、重复八小时和夏令时边界等常见事故。496 收藏 -
PHP 导出或后台列表一到几十万行就内存耗尽,常见原因不是 PDO 连不上,而是 fetchAll() 一次把剩余结果集堆进数组。先用最小测量定位峰值,再按用途改成 SQL 限制、逐行 fetch() 或分页批处理,才能把结果集大小和内存边界重新拉回可控范围。495 收藏 -
本文从一个 PHP 文件上传后 $_FILES 为空的现场出发,逐步检查表单 enctype、字段名、上传大小限制、临时目录和错误码,给出可复用的排查与修复清单。476 收藏 -
本文从 PHP 导出 CSV 时内存耗尽的现场出发,定位一次性查询和数组拼接的根因,改成游标分页、生成器和 fputcsv 流式输出,并给出复查清单。471 收藏 -
文章 · php教程 | 3星期前 | 面向对象 · PHP · PHP8.4 · Property Hooks · 代码重构 · PHP教程 Getter PHP 8.4 Property Hooks setter
本文围绕 PHP 8.4 Property Hooks 讲清它解决什么问题、旧 getter/setter 写法会受到哪些影响、迁移时怎样控制风险,并给出商品模型的最小验证代码。464 收藏 -
文章 · php教程 | 1天前 | PHP · 函数式编程 · 升级 · PHP 8.5 · 管道操作符 · 代码可读性 · PHP 8.5 PHP 管道操作符 PHP |> 运算符 PHP 函数链 PHP 8.5 升级 PHP 输入清洗
PHP 8.5 已引入 |> 管道操作符,适合把一连串单输入、单输出的处理写成从左到右可读的链。本文从后台内容标题清洗场景出发,对比嵌套调用与管道写法,说明适用边界、版本落地方式,以及不该为了新语法强行改造的几类代码。445 收藏 -
PHP 定时任务重叠运行时,单靠进程号或临时文件往往不够可靠。用 flock 保持互斥、写入 PID 与开始时间,再配合超时观察和可复查日志,可以把重复处理、锁误判与人工介入边界拆清楚。424 收藏 -
文章 · php教程 | 1星期前 | 文件上传 · 后端开发 · php教程 · 安全校验 · move_uploaded_file $_FILES finfo_file PHP上传文件 文件安全校验
PHP 文件上传不要只看后缀名,要先检查上传错误码和大小,再用 finfo_file 识别 MIME,最后用随机文件名和 move_uploaded_file 移到受控文件夹。409 收藏 -
文章 · 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 小项目实现一次性下载链接:服务端只保存令牌哈希,链接有明确过期时间,并在发送文件前用 SQLite 事务完成原子核销。391 收藏 -
PHP-FPM 慢请求报警不要只盯接口耗时。本文用运行手册方式梳理触发信号、slowlog 快速判断、进程池参数调整、回滚路径和告警确认,帮助把一次临时排障沉淀成可复用流程。336 收藏 -
PHP 8.4 会弃用 Type $arg = null 这种隐式可空签名。文章用旧写法与 ?Type、Type|null 的对比,说明兼容边界、扫描方法、回归检查和可分批落地的迁移清单。317 收藏 -
文章 · php教程 | 1星期前 | 日志 · HTTP · 超时控制 · php教程 · 接口监控 · 请求超时 stream_context_create PHP教程 PHP HTTP请求 接口探测器
用 PHP 写一个小型 HTTP 探测器,重点不是只把远程接口请求通,而是给连接设置超时、拿到状态码、记录耗时和错误信息,并让接口返回可验收的 JSON。文章用原生 stream_context_create 串起入口接口、请求函数、日志文件和验收清单,适合放进定时任务或后台健康检查。289 收藏 -
文章 · php教程 | 2天前 | PHP · api设计 · url编码 · 后端开发 · http_build_query · 查询参数 · PHP http_build_query PHP 数组参数 URL 查询参数 PHP_QUERY_RFC3986 重复键参数 接口参数设计
PHP 的 http_build_query 会把数组编码成带下标的方括号参数;这和不少接口要求的重复键写法不是一回事。用一个筛选接口场景梳理数组、null、空格编码与兼容策略,避免请求串看着对、下游却读不出参数。245 收藏 -
文章 · php教程 | 1星期前 | 文件上传 · php教程 · $_FILES · 上传安全 · MIME · PHP文件上传 move_uploaded_file $_FILES 文件校验 MIME PHP教程
PHP 文件上传不能只判断扩展名后直接保存。更稳的做法是把上传当成一条数据生命周期:接收 $_FILES,检查错误码、大小、MIME 和真实扩展名,生成服务端文件名,保存元数据,并配套清理临时文件和过期文件。242 收藏