php教程
已收录文章:34篇
-
PHP 报 Allowed memory size exhausted 时,先区分单次峰值、批量数据过大和长期增长,再用 memory_get_usage、memory_get_peak_usage 与分段日志定位,最后验证回收和配置边界。413 收藏
-
PHP 文件上传不要只看后缀名,要先检查上传错误码和大小,再用 finfo_file 识别 MIME,最后用随机文件名和 move_uploaded_file 移到受控文件夹。409 收藏
-
文章 · php教程 | 2个月前 | nginx · php-fpm · php教程 · 故障复盘 · Nginx php-fpm 性能排查 PHP教程 502 Bad Gateway pm.max_children 慢日志PHP-FPM 子进程打满时,502 往往不是单纯把 pm.max_children 调大就能解决。更稳的排查顺序是先看 Nginx upstream 错误和 FPM 状态页,再用慢日志找到长时间占用子进程的请求,最后把容量、慢查询、限流和告警一起补齐。407 收藏
-
用一个可运行的 PHP 小项目实现一次性下载链接:服务端只保存令牌哈希,链接有明确过期时间,并在发送文件前用 SQLite 事务完成原子核销。391 收藏
-
PHP 8.4 的日期解析失败不应再靠返回值猜测。本文用用户输入日期的实际场景,说明 DateMalformedStringException 的捕获边界、格式校验、日志记录和旧版本兼容写法。367 收藏
-
PHP 8.5 将 chr() 接收 0 到 255 之外整数的行为标记为弃用。文章从字节输入、负数与大整数、编码边界和回归测试出发,给出兼容 PHP 8.5 的改造顺序。350 收藏
-
PHP 8.4 属性钩子可以把输入归一化放进属性声明附近,但它不会替代完整的业务校验。本文通过金额和状态字段,说明 set 钩子的触发边界、类型约束、异常处理与旧版本回退方式。347 收藏
-
本文从 PHP 接口返回中文乱码或空白的现场出发,依次检查响应头、输出前字符、数据编码和 JSON 返回出口,给出可复用的修复代码与验证清单。336 收藏
-
PHP PDO 事务里最容易误判的不是 beginTransaction,而是异常有没有真正离开业务边界、commit 是否只发生一次,以及回滚后调用方是否仍把失败当成功。本文用订单扣库存场景拆开这些边界。329 收藏
-
PHP 8.4 会弃用 Type $arg = null 这种隐式可空签名。文章用旧写法与 ?Type、Type|null 的对比,说明兼容边界、扫描方法、回归检查和可分批落地的迁移清单。317 收藏
-
本文用 PHP 表单提交场景讲清 CSRF 防护:服务端生成随机令牌并写入 session,页面提交时带回令牌,服务端校验来源、令牌和有效期,失败时拒绝请求并记录原因。306 收藏
-
用原生 PHP 输出 text/event-stream,配合浏览器 EventSource 展示长任务进度,重点核对事件格式、心跳、断线重连和 PHP/网关缓冲边界。304 收藏