php教程技术文章
-
stream_copy_to_stream 返回字节数偏少时,先区分源流已到当前位置、length 限制、offset 语义和目标流失败。本文给出可复制的 PHP 排查代码与边界清单。123 收藏 -
PSR-7 请求体是带游标的 StreamInterface,getContents() 读取后可能到达末尾。本文区分 getContents、__toString、rewind 和 seek(0),说明如何判断可回退能力,并在不可回退时用新流和 withBody() 让签名校验、日志与业务解析共享请求内容。123 收藏 -
用 PHP Intl 的 NumberFormatter 按地区格式化货币和小数,说明 locale、保留位数、舍入模式与自定义 pattern 的使用边界。122 收藏 -
PHP 并行 cURL 中 curl_multi_select 返回 0 通常表示等待超时而非请求失败。本文区分 0、-1 和正数,给出避免忙等、读取错误与回收句柄的排查方法。121 收藏 -
文章 · php教程 | 4星期前 | 队列 · PHP · laravel · 工程实践 · 批处理 · Laravel 队列 失败重试 Job Batching queue:retry-batch
Laravel 队列批处理遇到失败项时,单个 Job 的 tries、backoff 与批次的 catch、allowFailures 并不是同一层重试机制。本文用批量同步场景拆解取消语义、失败批次重试入口和幂等边界,帮助你只重试可恢复且不会重复写入的数据。121 收藏 -
通过 PHP Locale::composeLocale 组合语言、文字体系和地区字段,并用受控选项、严格失败判断与配置来源记录管理应用的区域偏好。121 收藏 -
PHP Fiber 中的恢复值和最终返回值不是同一个概念。本文用 start、suspend、resume、getReturn 和状态判断说明如何安全接收恢复入参,并在 Fiber 终止后读取回调 return。120 收藏 -
本文介绍如何在 PHP 中对带小数点(radix)的任意精度数值进行十进制与十六进制的高精度双向转换,解决 bcmath 缺乏进制转换能力的问题,并推荐成熟、可部署于共享主机的纯 PHP 解决方案。 本文介绍如何在 PHP 中对带小数点(radix)的任意精度数值进行十进制与十六进制的高精度双向转换118 收藏 -
Composer 在生产环境通常应先用 --optimize 生成 classmap,再根据是否存在运行时生成类决定使用 authoritative classmap 或 APCu。本文围绕 dump-autoload 给出部署命令、取舍和最小检查清单。118 收藏 -
PHP IntlCalendar::fieldDifference 可以按年、月、日、小时等指定字段计算两个时刻的有符号差值。本文说明逐层调用顺序、对象变更、时区和月份边界,以及何时应改用时间戳差值。118 收藏 -
文章 · php教程 | 2个月前 | WEB开发 · 文件上传 · PHP · PHP 文件上传 move_uploaded_file MIME finfo_file is_uploaded_file
PHP 文件上传不能只看扩展名和浏览器传来的 MIME 字段。本文用 finfo_file() 检查临时文件的真实类型,再配合大小、错误码、is_uploaded_file() 和 move_uploaded_file() 建立一条可验证的上传边界,并说明校验通过后仍要如何限制保存路径和访问方式。117 收藏 -
从 Throwable、Exception、Error 和诊断错误的边界出发,整理 PHP 入口处理器、日志记录、生产响应与最小回归检查的统一方案。117 收藏 -
PHP 测量短代码耗时时,优先用 hrtime() 获取单调高精度时间,再用结束值减开始值并明确换算单位。本文说明数组与整数返回形态、与 microtime() 的区别、失败处理和性能采样边界。116 收藏 -
PHP 8.5 已移除 disable_classes。本文从运行入口、配置文件、CLI 与 PHP-FPM 差异出发,给出遗留配置定位、应用影响排查和替代策略,避免把旧的禁用类假设误当成当前运行时能力。115 收藏 -
PHP DatePeriod 默认不把结束日期放进迭代结果。本文用按天生成账单日期的例子说明 INCLUDE_END_DATE、EXCLUDE_START_DATE 的组合、PHP 版本边界和可复现的遍历验收。114 收藏