php教程技术文章
-
DOMDocument 解析不可信 XML 时,默认不要打开实体替换和外部 DTD 加载;用 LIBXML_NONET 限制网络访问,并按 PHP/libxml 能力补充 LIBXML_NO_XXE。本文给出安全的最小配置、遗留 DTD 场景的隔离方式和升级检查清单。409 收藏 -
PHP PDO 绑定 LIMIT 报类型错误,通常是参数按字符串传给了预处理语句。本文说明如何校验分页输入、使用 PDO::PARAM_INT 绑定 LIMIT/OFFSET,并避免 execute 参数覆盖已有绑定。408 收藏 -
开启 PHP session.use_strict_mode 后,旧系统可能因手工预设未初始化 Session ID 而读不到登录前状态。本文解释 Cookie、有效 Session 和严格模式的关系,并给出先启动会话、登录后轮换 ID 的改法。404 收藏 -
filter_var 返回 true 只说明 URL 结构符合 PHP 的校验规则,并不代表主机可解析、协议可用或域名属于业务白名单。本文用 PHP 示例拆开三层判断,补上安全的 host 白名单写法。403 收藏 -
用 PDO::ATTR_DEFAULT_FETCH_MODE 在连接创建时统一默认返回形态,再用语句级 FETCH_* 覆盖特殊查询,避免项目里反复写 fetch 参数。395 收藏 -
PHP readonly 属性不是普通的只读提示,而是一次初始化后禁止重新绑定的语言约束。本文解释合法初始化、作用域、间接修改、对象内部可变性和克隆边界。387 收藏 -
PHP 8.6 的 Autoconf 2.71 与 C11 构建要求,主要影响从 Git 源码生成 configure 的脚本;发布压缩包和数据库运行时依赖应分别处理。380 收藏 -
PHP 项目报 Class not found 时,先不要盲目重装依赖。本文用 App\ 映射到 src/ 的例子,按命名空间、目录、文件名、大小写、dump-autoload 和 class_exists 逐层核对,定位 Composer PSR-4 自动加载失效的具体位置。379 收藏 -
解释 PHP PDO 占位符为什么只能绑定数据值,说明 MySQL 中 LIMIT 和 OFFSET 的正确绑定方式,并用白名单映射处理动态排序字段,避免把标识符误当成参数。372 收藏 -
PHP curl_multi_exec 负责推进多个 cURL 句柄的网络状态。本文用完整示例说明如何加入请求、等待 I/O、读取完成消息、区分传输错误与 HTTP 状态,并安全回收句柄。371 收藏 -
PHP 8.5 中 array_first 和 array_last 遇到空数组都会返回 null。本文对比有效 null、旧版本兼容写法和 ?? 默认值的使用边界。367 收藏 -
本文用分页参数 page 演示 PHP filter_input 的四个参数配置,解释 FILTER_VALIDATE_INT、options、默认值,以及 null、false 和合法值的排查边界。363 收藏 -
PHP 8.5 用 clone($object, [...]) 在复制对象时更新指定属性,适合 readonly 值对象的 with 方法;本文同时说明作用域、类型校验和 PHP 8.4 兼容写法。362 收藏 -
PHP 使用 stream_copy_to_stream 限制文件流复制长度时,应把字节上限传给 length,并区分 offset 起点、短流和 false 失败返回。359 收藏 -
PHP array_filter 不传 callback 时会按 empty() 语义过滤,0、"0"、false、null 和空字符串都可能被删除。本文拆开默认参数、显式回调、键名保留和 array_values() 重排的边界,避免清洗数据时误删有效零值。347 收藏