程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
PHP 相关技术文章(第3页)
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
微信支付查单与回调:5 秒内先验签再应答,关单前必须先查单
代码
微信支付查单与回调:5 秒内先验签再应答,关单前必须先查单
2026-10-20 20:02:26
按微信支付官方《支付回调和查单实现指引》(2026-10-13)整理:回调 5 秒内验签应答、NOTPAY 不等于支付失败、未收到回调先查单且不换 out_trade_no、关单前必须先查单(含错误码 268449538/268498689 的处理)、两套轮询查单节奏与 T+1 对账四种结果。
微信支付
支付对接
PHP
接口设计
异步通知
AES-256-GCM 字段加密后 WHERE email=? 查不到:用 HMAC 盲索引补搜索,以及 4 个上线前缺口
编程
AES-256-GCM 字段加密后 WHERE email=? 查不到:用 HMAC 盲索引补搜索,以及 4 个上线前缺口
2026-10-20 00:04:37
手机号、邮箱做字段级加密后,随机 nonce 让密文失去可比性,登录查询和唯一约束同时失效。这篇用 PHP 的 AES-256-GCM 加 HMAC-SHA256 盲索引还原等值查询,给出建表结构、索引同步陷阱,并划清哪些列(低基数、password_hash、金额、时间)根本不该加密。
敏感信息加密
AES-256-GCM
盲索引
数据脱敏
PHP
PHP 8.6 的 PASSWORD_BCRYPT_SHA256:先做 HMAC-SHA256,避开 bcrypt 的 72 字节截断
编程
PHP 8.6 的 PASSWORD_BCRYPT_SHA256:先做 HMAC-SHA256,避开 bcrypt 的 72 字节截断
2026-10-19 21:03:04
bcrypt 只读前 72 字节,长密码会被静默截断。PHP 8.6 新增 PASSWORD_BCRYPT_SHA256:先 HMAC-SHA256 再送 bcrypt,沿用 Passlib 方案。含生成/校验写法、列宽与 password_needs_rehash 迁移顺序、与旧 bcrypt 不兼容的边界。
PHP
密码哈希
bcrypt
安全
Laravel 13.36:长驻 worker 跑过一个写任务后,后面一万个任务的读都压在主库
编程
Laravel 13.36:长驻 worker 跑过一个写任务后,后面一万个任务的读都压在主库
2026-10-19 20:02:53
Laravel 13.36 允许队列 worker 在任务之间清掉粘性数据库连接。讲清 sticky 为什么把长驻 worker 的读一直钉在主库、新开关 Worker::$flushStickyConnections 怎么开、打开后复制延迟与任务依赖的代价,以及判断要不要开的三个核对点。
Laravel
PHP
队列
MySQL
读写分离
Inertia v3 上线踩的 8 个坑:409 版本冲突、303 重定向与被 CDN 吃掉的 Vary 头
编程
Inertia v3 上线踩的 8 个坑:409 版本冲突、303 重定向与被 CDN 吃掉的 Vary 头
2026-10-19 00:09:59
从 Inertia v3 的 HTTP 协议切入,拆开 X-Inertia 头、page object、409 版本冲突、302→303 转换、Vary 缓存分桶、partial reload 惰性求值与 SSR 13714 探活。每个坑给现象、原因和 curl 验证方式,面向已用 Laravel + Vue 上线、正在排查整页刷新和缓存串味的工程师。
Inertia.js
Laravel
Vue
PHP
SPA
前端路由
鉴权
PHP 8.6 批量弃用投票:31 项通过,is、let、readonly 要在 PHP 9 前改名
资讯
PHP 8.6 批量弃用投票:31 项通过,is、let、readonly 要在 PHP 9 前改名
2026-10-18 21:03:56
PHP 8.6 批量弃用 RFC 投票结果:35 项里 31 项通过。is、let、readonly、namespace、_ 成为保留标识符,symfony/http-client 依赖的 dechunk 被否,list() 停在 23:23 平票,finally 里 return 属行为变更。附可直接跑的 grep 清单。
PHP
版本升级
代码迁移
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
编程
PHP 8.6.0 RC3 撤回三处「更快」改动:hrtime() 快了 4%、fiber 里警告被静音
2026-10-18 21:02:32
PHP 8.6.0 RC3 回滚了 8.6 自己引入的三处回归:fiber 内警告被静音、hrtime() 改用 CLOCK_MONOTONIC_RAW 后快约 4%、strict_types=1 下 array_map 加速路径抛 TypeError,另有 OPcache 把负零折叠。含实测表格与升级注意。
PHP
版本升级
性能
PHP 8.6 收紧 session 三个默认值:先受影响的是 SAML SSO 和跨域表单
编程
PHP 8.6 收紧 session 三个默认值:先受影响的是 SAML SSO 和跨域表单
2026-10-18 21:02:25
PHP 8.6 把 use_strict_mode、cookie_httponly、cookie_samesite 的默认值改成 1/1/Lax,SessionHandler::validateId() 也真正实现,外部提供的 session ID 会被拒。文中给出四步排查顺序、php.ini 与 Symfony 配置片段,以及为什么不建议全站放宽。
PHP
会话安全
升级踩坑
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
编程
20 字限制卡住一个 👨👩👧👦:emoji 的码点、字节与 grapheme cluster
2026-10-18 00:04:23
表单「20 个字」限制被一个家庭 emoji 撑爆、按码点截断后渲染成方块,是编码层最常见的错位。这篇把 emoji 的 7 种编码形式(VS16、肤色修饰、ZWJ、区域指示符、tag、keycap)和三种长度口径拆开,给出 Go/PHP/JS 按 grapheme cluster 计数与截断的可执行写法,以及 utf8mb4 列宽、排序规则与终端宽度上的边界。
emoji
Unicode
字符编码
Go
PHP
前端工程
Excel 双击 UTF-8 CSV 全是「涓枃」:BOM 写在哪一步,写了为什么还是乱码
案例
Excel 双击 UTF-8 CSV 全是「涓枃」:BOM 写在哪一步,写了为什么还是乱码
2026-10-18 00:04:03
后端导出的 UTF-8 CSV 用 Excel 双击打开中文全是「涓枃」:Excel 按系统 ANSI 代码页解码,只认文件开头的 BOM。给出 PHP/Python/Node/Go 写 BOM 的正确位置,四种「写了 BOM 反而更乱」的真实原因与字节级验证方法,以及中文文件名走 filename*=UTF-8'' 的处理方式,最后说明何时该弃 CSV 改 xlsx。
乱码
CSV导出
字符集
UTF-8
BOM
Excel
PHP
Python
Go
PHP 8.5 把 FETCH_CLASS 的构造参数改成 CUFA 语义后,实体水合会坏在哪
编程
PHP 8.5 把 FETCH_CLASS 的构造参数改成 CUFA 语义后,实体水合会坏在哪
2026-10-17 21:02:54
PHP 8.5 把 PDO::FETCH_CLASS 的构造参数改成 call_user_func_array 语义:字符串键变命名参数、自动 by-ref 包装消失、fetch 中途 setFetchMode 直接抛 Error。给最小复现、报错形态、定位命令与四种修复路径。
PHP
PDO
升级踩坑
数据库
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
编程
PHP 8.5 的 #[\NoDiscard] 和 (void):让被丢掉的返回值留下一条日志
2026-10-17 21:02:03
PHP 8.5 的 #[\NoDiscard] 与 (void) 在支付、加锁、队列代码里的实际用法:如何让被丢弃的返回值变成可检索的告警,error_reporting 与错误处理器怎么配,和静态分析各管什么,附 8.5 弃用的机械清理命令。
PHP
8.5
错误处理
静态分析
Laravel MCP 升级 1.0:initialize 换成 server/discover,每个 POST 都要带三个 header
编程
Laravel MCP 升级 1.0:initialize 换成 server/discover,每个 POST 都要带三个 header
2026-10-17 20:04:28
Laravel MCP 1.0 升级笔记:从 composer require 到第一个 Tool 的骨架,再到最疼的三处破坏——initialize 换成 server/discover、每个 POST 要带 MCP-Protocol-Version/Mcp-Method/Mcp-Name、sessionId 被移除,以及 -32020/-32022 错误码与 PKCE 强制、client_id 变 URL 的连带改动。
Laravel
MCP
PHP
AI
Agent
OAuth
协议升级
Composer 2.10.3 修掉两条 CVE:Perforce 源地址可注入命令,bin 路径能穿出包目录
编程
Composer 2.10.3 修掉两条 CVE:Perforce 源地址可注入命令,bin 路径能穿出包目录
2026-10-16 21:03:41
Composer 2.10.3 修复两条 CVE:恶意 Perforce source URL 可在 install/update 时注入命令(需装了 p4 并用了非 Packagist 仓库),以及 bin 路径可穿出包目录、绕过早前修复。给出触发条件、受影响版本与替代缓解。
Composer
PHP
CVE
供应链安全
Symfony 8.2 开发中:Lock 属性与 RecorderHttpClient 进入主线,8.1.9 已发布
编程
Symfony 8.2 开发中:Lock 属性与 RecorderHttpClient 进入主线,8.1.9 已发布
2026-10-14 21:04:35
Symfony 8.2 开发中,已引入用 Lock 属性拒绝或延迟并发请求、RecorderHttpClient 录制回放 HTTP 交互等能力,另有定向 Cache-Control、单次签名 URL 等。梳理 8.1/8.2/7.4 LTS/6.4 的 PHP 要求与支持窗口。
Symfony
PHP
框架
新特性
版本
安全修复
PHP 8.6.0 RC3 修回的几处自伤回归:fiber 静音、hrtime 偏快、HEAD 请求漏 fd
编程
PHP 8.6.0 RC3 修回的几处自伤回归:fiber 静音、hrtime 偏快、HEAD 请求漏 fd
2026-10-14 21:03:44
PHP 8.6.0 RC3 合入的多是修回 8.6 自身引入的回归:fiber 启动把 error_reporting 设成 0 导致 warning 被吞、hrtime() 切到 CLOCK_MONOTONIC_RAW 后快约 4%、php -S 每个 HEAD 请求泄漏一个文件描述符。另记录 OPcache 折叠 -0.0 等修复与时间表。
PHP
版本更新
回归
OPcache
发布说明
Laravel AI SDK 1.1 发布:Agent Skills、Cohere 文本生成与内置工具审批
编程
Laravel AI SDK 1.1 发布:Agent Skills、Cohere 文本生成与内置工具审批
2026-10-10 21:04:32
Laravel AI SDK v1.1 支持 Agent Skills 标准(SKILL.md 目录 + HasSkills 契约 + LoadSkill 工具),新增 Cohere v2 Chat 文本生成,内置工具可 requireApproval(),failover 会跳过当前 provider 不支持的 provider 工具。本文给出各功能的用法、报错原文与升级方式。
Laravel
PHP
AI
应用
AI SDK
文本生成
技能
YAML
闭包
1.1
partial
PayZephyr:一个 Payment facade 统一 8 家支付网关的 Laravel 包
案例
PayZephyr:一个 Payment facade 统一 8 家支付网关的 Laravel 包
2026-10-10 21:04:32
PayZephyr 是 Laravel 支付包,用一个 Payment facade 统一 Paystack、Stripe、PayPal、Flutterwave、Square、Monnify、OPay、Mollie 八家网关,支持自动 failover、防重复扣款、签名 webhook、订阅与退款。本文给出支付、回调 verify、订阅与部分退款的代码,并提示退款可能异步结算需查 isPending。
支付
Laravel
PHP
防重放
支付网关
订阅
CAD
Laravel 13.35 更新笔记:QUERY 路由、defaults() 与百分比内存限制
编程
Laravel 13.35 更新笔记:QUERY 路由、defaults() 与百分比内存限制
2026-10-10 21:03:41
Laravel 13.35 带来 Route::query() 注册 HTTP QUERY 路由、模型通过 HasDefaultAttributes trait 使用 defaults()、queue:work --memory 支持百分比、Schedule::alwaysOnOneServer()、schedule:interrupt 改存时间戳并配合 hasBeenInterruptedSince()、response()->markdown() 与 local 磁盘 lazy_root_creation。本文按功能逐条给出用法与注意点。
Laravel
PHP
框架
ARC
路由
内存
版本
CSRF
PHP 8.6 session 安全默认值变更:use_strict_mode、cookie_httponly、cookie_samesite 都改了
编程
PHP 8.6 session 安全默认值变更:use_strict_mode、cookie_httponly、cookie_samesite 都改了
2026-10-10 21:02:48
PHP 8.6 把 session 的三个 INI 默认值改为安全值:use_strict_mode=1、cookie_httponly=1、cookie_samesite=Lax,并调整了 session_encode() 空会话返回值与 lazy_write 写入路径。本文列出哪些场景会被打破、自定义 handler 要补哪些方法、以及如何显式回退旧行为。
PHP
Session
安全
文件
管道
兼容
代码
PHP 8.5 升级排查:哪些行为变化必须先修,哪些弃用警告可以后处理
编程
PHP 8.5 升级排查:哪些行为变化必须先修,哪些弃用警告可以后处理
2026-10-08 21:05:20
PHP 8.5 里被弃用的仍能运行,但一批行为变化会改变结果。本文把它拆成两类:部署前必须修的行为变化(float→int 与 NAN 警告、枚举松散比较、PDO FETCH_CLASS CUFA、printf 精度、opcache 内建、mysqli 构造)与可后处理的弃用警告,逐条给排查与处置建议。
PHP
升级
兼容性
弃用
排查
计算
8.5
中文
PHP 8.5 的 URI 扩展:用 Uri\Rfc3986\Uri 和 Uri\WhatWg\Url 替掉 parse_url
编程
PHP 8.5 的 URI 扩展:用 Uri\Rfc3986\Uri 和 Uri\WhatWg\Url 替掉 parse_url
2026-10-08 21:02:59
PHP 8.5 内置 URI 扩展用 Uri\Rfc3986\Uri 与 Uri\WhatWg\Url 两套不可变类替代 parse_url。本文给出 parse_url 的解析混淆实例、两标准的取舍、raw 与规范化视图、with-er 修改、Unicode 主机,以及重定向与签名场景该怎么选。
PHP
URI
parse_url
RFC3986
WHATWG
8.5
引用
PHP 8.5 curl_share_init_persistent:跨请求复用 cURL 共享句柄
编程
PHP 8.5 curl_share_init_persistent:跨请求复用 cURL 共享句柄
2026-10-08 21:02:58
PHP 8.5 新增 curl_share_init_persistent,让 cURL 共享句柄跨请求存活并复用 DNS/连接/TLS 会话。本文讲清选项数组、禁止共享 cookie 抛 ValueError、需自设 CURLOPT_MAXCONNECTS、== 而非 ===,以及 Guzzle multi-handle 的支持现状。
PHP
cURL
性能
Guzzle
连接复用
8.5
init
PHP 8.5.11 修复 FPM IPv6 ACL 绕过、嵌套 yield from 丢元素与 DOM UAF
资讯
PHP 8.5.11 修复 FPM IPv6 ACL 绕过、嵌套 yield from 丢元素与 DOM UAF
2026-10-07 21:02:18
PHP 8.5.11(2026-09-24)修复两个安全问题:FPM FastCGI listen.allowed_clients 因地址比较导致的 IPv6 ACL 绕过(CVE-2026-91768),以及 Standard 组件的一个越界问题。另修嵌套 yield from 丢元素/重复产出、DOM 多处 use-after-free 与缓存失效、Intl grapheme 偏移错误。
PHP
安全更新
FPM
CVE
DOM
8.5
崩溃
YC
IPv6
UAF
越界读
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
5
6
7
8
下一页
共 8 页
到第
页
确定