php教程技术文章
-
PHP 8.5 新增 #[NoDiscard] 属性,可以在调用方忽略关键返回值时给出警告。本文从一个被吞掉的校验结果切入,说明属性的适用边界、(void) 豁免方式和升级到 PHP 8.5 前后的验证清单。390 收藏 -
本文讲解如何通过内联Ja vaScript调用安全、准确地将PHP生成的ID值传递至URL查询参数,解决dataset.id未定义导致dfID=undefined的问题,并提供可直接复用的代码方案。 本文讲解如何通过内联Ja vaScript调用安全、准确地将PHP生成的ID值传递至URL查询参数,390 收藏 -
PHP 的 SensitiveParameter 与 SensitiveParameterValue 可以让堆栈中的敏感参数显示为脱敏对象,但它不等于日志系统自动脱敏。本文用异常堆栈、调试输出和结构化日志三个场景说明标注方式、getValue() 边界与验收方法。387 收藏 -
parse_url() 不会替 URL 自动补上 80 或 443。本文用 PHP_URL_PORT、HTTP_HOST 和 SERVER_PORT 拆开缺失端口、显式默认端口与代理转发场景,给出可复现的判断代码和安全边界。387 收藏 -
本文介绍如何在 Lara vel 中基于 Carbon 实现「10 个事件按星期循环轮播」的逻辑:周一到周日依次分配 event 1–event 10,超出后自动回环,适用于日程排期、内容轮播、值班表等场景。 本文介绍如何在 Lara vel 中基于 Carbon 实现「10 个事件按星期循环轮播」384 收藏 -
PHP 8.4 为用户定义的函数、方法和类常量提供 #[\Deprecated] 属性。本文用一个兼容旧调用方的 PHP 示例,说明如何标注替代方案、用反射核对元数据,并把弃用提示接入 CI。382 收藏 -
通过订单提交场景,演示 PHP 如何用 Idempotency-Key、Redis SET NX 和 MySQL 唯一索引实现接口幂等,避免重复点击、超时重试造成重复下单。378 收藏 -
PHP 会把符合规则的数字字符串数组键转换为整数,导致表单、JSON 和批量数据的键类型不一致。本文用可复现示例拆开转换边界,并给出校验与修复方法。376 收藏 -
文章 · php教程 | 1个月前 | 性能 · PHP · php-fpm · OPcache · 部署排查 · php-fpm 缓存排查 PHP OPcache 代码更新不生效 opcache.validate_timestamps
PHP 文件已经更新,接口却还返回旧结果,通常不是代码没有上传,而是 OPcache 仍在复用旧脚本。本文用文件时间、OPcache 配置、PHP-FPM 重载和回滚复查串起一套可执行的排查流程。372 收藏 -
用 PHP 8.2 的 BackedEnum 接收表单字符串,区分 tryFrom 与 from 的错误语义,补上空值、非法值、默认分支和 JSON 响应校验。372 收藏 -
PHP 8.1 的 array_is_list 能直接判断数组是否由 0 到 count-1 的连续整数键组成。本文对比 array_is_list、array_keys 和 array_values 在接口输入校验、重排数据与兼容旧版本时的边界,给出可运行的选择规则。372 收藏 -
PHP 8.4 的日期解析失败不应再靠返回值猜测。本文用用户输入日期的实际场景,说明 DateMalformedStringException 的捕获边界、格式校验、日志记录和旧版本兼容写法。367 收藏 -
PHP 8.5 新增 curl_share_init_persistent(),可以在请求之间复用 cURL share handle,减少 DNS 和连接初始化成本。本文从共享选项、FPM 进程边界、连接锁和灰度指标出发,给出一套可回滚的验收方法。363 收藏 -
SplPriorityQueue 是最大堆,同优先级元素的取出顺序没有稳定性保证。本文用可运行示例解释 compare 返回值、数组优先级和稳定顺序的实现边界。358 收藏 -
PHP-FPM 文件上传接口出现磁盘告警时,先从 upload_tmp_dir、is_uploaded_file、move_uploaded_file 和异常回收入手,建立可观测、可回滚的临时文件处理流程。357 收藏