php教程技术文章
-
文章 · php教程 | 1星期前 | 文件上传 · php教程 · php 文件上传 多文件上传 session.upload_progress cancel_upload UPLOAD_ERR_EXTENSION
PHP Session Upload Progress 可以通过 cancel_upload 取消同一多文件请求中当前进行的文件和待处理文件,但不会移除已经成功完成的文件。本文给出进度查询、取消接口、错误码判断和请求缓冲排查方法。442 收藏 -
PHP session.upload_progress 会把上传状态写进当前会话,另一个请求只要携带同一会话并按 prefix 加上传标识读取,就能查询 bytes_processed、done 和文件状态。本文给出表单、上传处理和轮询接口的完整结构,并解释请求缓冲、会话锁与清理时机。345 收藏 -
PHP OPcache JIT 是否值得开启,不能靠一次跑分判断。本文用可重复的数值循环基准,对比关闭与开启 JIT 的耗时,说明 CLI 配置、预热、统计和上线边界。428 收藏 -
从 PHP session.sid_length 的默认值、范围和弃用状态出发,构建一个最小会话示例,说明旧 Cookie、存储键、自定义处理器与安全配置之间的兼容边界。403 收藏 -
PHP PDO 分页查询中,LIMIT 和 OFFSET 属于整数边界,直接用 execute 数组传参时默认按字符串处理,可能触发 SQL 语法错误。本文说明占位符的边界、参数类型差异和完整分页写法,并给出 bindValue 与 bindParam 的选择建议。226 收藏 -
Symfony Messenger 的延迟消息要分开看 DelayStamp、transport DSN、失败重试和 failure_transport。本文从消息提前消费的现场出发,给出 Doctrine、AMQP、Redis 传输配置与可恢复的重试方案。301 收藏 -
文章 · php教程 | 1星期前 | 队列 · PHP · laravel · 工程实践 · 批处理 · Laravel 队列 失败重试 Job Batching queue:retry-batch
Laravel 队列批处理遇到失败项时,单个 Job 的 tries、backoff 与批次的 catch、allowFailures 并不是同一层重试机制。本文用批量同步场景拆解取消语义、失败批次重试入口和幂等边界,帮助你只重试可恢复且不会重复写入的数据。121 收藏 -
Composer 插件会在 Composer 运行时改变安装、下载或命令行为。本文比较 allow-plugins 的精确白名单、组织通配符、全部允许和全部禁止策略,给出适合项目、CI 与生产环境的配置边界。170 收藏 -
PHP OPcache 预加载不是普通文件缓存。本文从 php.ini、preload.php、PHP-FPM 主进程和请求 worker 的生命周期出发,说明部署后何时必须重启、何时可 reset,以及如何安排回滚。343 收藏 -
PHP 使用 substr 截取中文可能产生乱码。本文用 mbstring 和 mb_substr 按字符安全截取,并说明编码参数、负数起点、长度判断与显示宽度边界。434 收藏 -
PHP 用 DOMDocument 加载带命名空间的 XML 后,XPath 不能直接使用 XML 标签名匹配。本文从 namespaceURI 出发注册查询前缀,再用 DOMXPath::query 读取目标节点,并整理默认命名空间、动态 URI 与空结果的排查方法。299 收藏 -
PHP 8.4 的属性钩子可以把读取时计算和写入时规范化直接放进属性声明。本文用一个用户对象拆解 get-only 虚拟属性、set 钩子、backing value 与昂贵计算缓存的设计边界。311 收藏 -
PHP Fiber 只负责暂停和恢复协作式任务,不会自动把 PDO 变成异步驱动。本文用任务级资源所有权、closeCursor 和 finally 收口数据库连接、结果集与事务。153 收藏 -
PHP 枚举实现业务接口并不会自动定义序列化格式。本文区分原生 serialize、JSON 输出与反向恢复,给出 JsonSerializable、tryFrom 和兼容演进的完整边界写法。434 收藏 -
PHP 的 clone 默认只复制外层对象,readonly 也不会自动深复制嵌套对象。本文说明 PHP 8.3 起 __clone() 中可一次性重新初始化 readonly 属性的版本边界、正确写法与验证方法。206 收藏