php教程技术文章
-
从一个可回滚的 PHP-FPM pool 小配置出发,说明 pm 模式、进程上限、慢日志与请求超时如何配合,避免只调大 pm.max_children。174 收藏 -
PHP 文件上传失败不能只调大 upload_max_filesize。本文区分 post_max_size、upload_max_filesize 与应用层校验,结合 $_FILES 错误码和当前 SAPI 配置,整理按现象定位上传大小限制的方法。356 收藏 -
PHP 同会话请求排队时,应定位 session_start 等待,完成会话读写后用 session_write_close 提前释放。文章说明局部快照、关闭后修改、重新开启覆盖风险,以及框架入口的回退与复查方法。412 收藏 -
用 Throwable::getPrevious() 逐层整理 PHP 异常链,示范包装异常、结构化日志和敏感信息脱敏的实用写法。175 收藏 -
PHP stream_get_contents 会从当前流位置读取内容,长度参数决定单次读取上限。本文说明小响应如何控制内存、大响应如何分块处理,以及 false、空字符串和未关闭资源等边界。271 收藏 -
PHP 8.1+ 中,backed enum 可以把稳定的 string 或 int 值直接映射到 JSON 接口字段;本文说明响应序列化、请求回填、tryFrom 校验和 JsonSerializable 自定义输出的边界。139 收藏 -
PHP array_key_first 在空数组中返回 null,合法整数键 0 不能用真假判断。本文从 PHP 7.3 迁移、首键与首值的区别、内部指针副作用和旧版本 polyfill 四个边界,整理一套可直接回归的安全写法。490 收藏 -
围绕 PHP Fiber 的 suspend、resume 与 throw,说明暂停值、恢复值、异常传播和终止状态如何被调度器分别管理。377 收藏 -
PHP preg_match_all 默认按捕获组分列返回,业务代码往往更需要按每次匹配整理成一条记录。本文用命名子模式和 PREG_SET_ORDER 组织结果,再处理未匹配组、字节偏移和可审计的错误分支。386 收藏 -
PHP PDO::getAttribute 可以读取数据库连接属性,但不同驱动支持的属性并不相同。本文从驱动识别、异常处理和兼容分支三个方面,整理一套不把驱动专属能力误当成通用 API 的写法。494 收藏 -
解释 PHP PDO 为什么不能直接嵌套开启事务,给出外层统一提交、内层抛出异常以及使用 SAVEPOINT 局部回滚的写法。218 收藏 -
PHP PDO 动态筛选应把数据值交给占位符,排序和条件结构由固定片段与白名单控制。示例说明 bindValue、租户来源及异常传播,避免把执行失败当成正常空结果。402 收藏 -
Composer 在生产环境通常应先用 --optimize 生成 classmap,再根据是否存在运行时生成类决定使用 authoritative classmap 或 APCu。本文围绕 dump-autoload 给出部署命令、取舍和最小检查清单。118 收藏 -
PHP NumberFormatter 通过 locale 决定数字与货币的地区展示规则,再由 formatCurrency() 接收 ISO 货币代码生成金额文本。本文说明创建格式化器、小数位控制、错误处理和接口边界。346 收藏 -
PHP stream filter 的方向与链顺序会影响字符转换。本文用 UTF-16LE 转 UTF-8 的内存流示例,说明先转码再做 ASCII 大写的原因,并区分缓冲和多字节边界。157 收藏