php教程技术文章
-
Composer classmap 更新后仍找不到类,通常不是命令没执行,而是映射、命名空间、运行入口或部署目录仍有一处不一致。本文按故障现场拆解判断与修复步骤。162 收藏 -
PHP 开启 pcntl_async_signals 后,信号处理器可能在主流程中被调度。本文用 pending 状态和 busy 标记把回调变成轻量入口,避免刷新任务重入。402 收藏 -
讲清 PHP SplFileObject 读取文件时末尾换行、空行与 EOF 占位的区别,并给出跳过或保留空行的标志组合与判断方法。418 收藏 -
PHP array_is_list([]) 会返回 true,因为空数组没有违反从 0 开始且连续排列的键规则。本文对照空洞、乱序和字符串键,并给出 PHP 8.1 以前的兼容判断写法。229 收藏 -
说明 PHP mb_strtolower 处理土耳其语时为何不能依赖 locale,区分 mb_language 的职责,给出 I、İ、i、ı 的专用映射与码点验证方法。384 收藏 -
PHP DatePeriod 默认排除结束日期。本文区分 PHP 8.2 起的 INCLUDE_END_DATE、结束日期不对齐时的手动补齐,以及旧版本兼容和重复日期检查。434 收藏 -
PHP PDO fetchObject 的第二个参数就是构造参数数组。本文从参数位置、构造顺序、FETCH_PROPS_LATE 和最小验证四个方面排查常见问题。496 收藏 -
PHP backed enum 会把 case 的显式 value 作为 JSON 标量输出。本文用字符串枚举说明定义、序列化、反序列化和自定义 JsonSerializable 的边界。258 收藏 -
PHP 8.4 属性钩子可以把读取格式化与写入校验拆开。本文用一个可复用的值对象示例说明 get、set、virtual property、backing value 和反射验证之间的关系。226 收藏 -
php://temp 会先把数据放在内存中,超过默认或自定义 maxmemory 阈值后转用系统临时文件。本文解释临时目录、memory_limit、流式写入和资源释放的边界。271 收藏 -
PHP header_remove 只能移除尚未完成发送的 PHP 响应头。本文用请求生命周期解释已有输出、输出缓冲和代理层头部的边界,并给出 headers_sent() 排查与 ob_start() 调整时序的写法。180 收藏 -
文章 · php教程 | 1星期前 | php教程 · session.save_path PHP session_start PHP会话保存路径 session_save_path排查 PHP会话目录权限
PHP session_start 找不到保存路径时,先查看当前请求实际生效的 session.save_path,再区分配置层级、代码覆盖、目录权限和容器挂载问题,最后用绝对路径完成复查。489 收藏 -
PHP password_needs_rehash 不负责验证密码,而是比较存储哈希与当前算法、cost 等策略;本文用登录复盘说明何时判断过时、如何安全重算并写回。139 收藏 -
PHP finfo_file 会依据文件内容推断 MIME 类型,但它不能替代上传状态检查、业务白名单和后续图片处理。本文拆解扩展名、浏览器声明与真实内容的边界,并给出可落地的 PHP 上传判断代码。323 收藏 -
解释 PHP parse_url() 在 host/path、//host/path 和完整 URL 之间的解析差异,给出输入契约、scheme 归一化与严格 URI 解析的选择方法。369 收藏