php教程技术文章
-
PHP 8.2 提供 SensitiveParameter 属性,用于避免密码、令牌等参数原值出现在异常堆栈中。本文从未标记参数的泄露风险讲起,说明属性写法、SensitiveParameterValue 的自动包装、手动取值边界,以及日志和第三方库仍需补做的脱敏检查。125 收藏 -
stream_copy_to_stream 返回字节数偏少时,先区分源流已到当前位置、length 限制、offset 语义和目标流失败。本文给出可复制的 PHP 排查代码与边界清单。123 收藏 -
用 PHP Intl 的 NumberFormatter 按地区格式化货币和小数,说明 locale、保留位数、舍入模式与自定义 pattern 的使用边界。122 收藏 -
PHP 并行 cURL 中 curl_multi_select 返回 0 通常表示等待超时而非请求失败。本文区分 0、-1 和正数,给出避免忙等、读取错误与回收句柄的排查方法。121 收藏 -
文章 · php教程 | 6小时前 | 队列 · PHP · laravel · 工程实践 · 批处理 · Laravel 队列 失败重试 Job Batching queue:retry-batch
Laravel 队列批处理遇到失败项时,单个 Job 的 tries、backoff 与批次的 catch、allowFailures 并不是同一层重试机制。本文用批量同步场景拆解取消语义、失败批次重试入口和幂等边界,帮助你只重试可恢复且不会重复写入的数据。121 收藏 -
从 Throwable、Exception、Error 和诊断错误的边界出发,整理 PHP 入口处理器、日志记录、生产响应与最小回归检查的统一方案。117 收藏 -
PHP PDO 的模拟预处理与原生预处理,关键差异在参数模板由谁解析以及 prepare() 是否与数据库协商。本文说明 ATTR_EMULATE_PREPARES 的配置方式、唯一占位符写法、驱动兼容边界和排查清单。112 收藏 -
PHP 8.4 的 array_find 只返回命中的值,想同时取得键和值时,应先用 array_find_key 得到键,再回查原数组;这种写法还能区分未命中与命中 null。110 收藏 -
PHP DateTime 时区转换后日期跨天,通常是同一时间点在目标时区的本地日期不同。本文区分 setTimezone、setTime 和字符串解析,说明如何保留原始时间并按业务时区计算日期。107 收藏 -
对比 PHP json_validate 与 json_decode 的语法校验、值构建、depth、flags 和错误处理边界,说明什么时候只校验、什么时候直接解码,以及 PHP 8.2 的兼容写法。107 收藏 -
PHP 7.3+ 可在 session_set_cookie_params 的 options 数组中设置 samesite。多数站点从 Lax 起步;Strict 更严格;确需跨站会话时才用 None,并同时启用 Secure。本文给出完整代码、响应头验证、故障处理和回滚清单。105 收藏 -
PHP readonly 属性排查指南:从 PHP 版本、类型声明和初始化作用域入手,定位重复赋值、引用修改、数组间接修改、对象内部可变与继承边界。104 收藏 -
PHP OPcache preload 在服务器进程启动时把类与函数载入持久内存,预加载实体不会像普通脚本那样随时间戳检查刷新。本文说明为什么改代码后必须重建 PHP-FPM 进程,以及如何做可观测、可回退的发布。104 收藏