程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
php 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
PHP 8.5 定稿:|> 管道、clone 带 with、#[\NoDiscard],以及一个箭头函数优先级坑
编程
PHP 8.5 定稿:|> 管道、clone 带 with、#[\NoDiscard],以及一个箭头函数优先级坑
2026-10-01 21:02:26
PHP 8.5 正式版的变化按落地方式过一遍:|> 管道操作符与箭头函数必须加括号的优先级坑、clone 函数与 $withProperties、#[\NoDiscard] 配 (void)、闭包进入常量表达式,以及持久化 cURL share handle。
PHP
PHP8.5
管道操作符
clone
新特性
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
编程
PHP 8.6 闭包优化只合了一半:无状态闭包缓存已落地,static 推断被撤回
2026-09-30 21:02:29
PHP 8.6 的闭包优化 RFC 只落地一半:无状态闭包缓存已合并(同词法位置、static、不捕获变量的闭包复用同实例可用 === 判等,Laravel 模板省 2384/3637 次实例化),而“非 static 闭包推断为 static”因 array_map 等内部函数可经命名 callable 做实例调用而被撤回。
PHP
性能
语言特性
php-via:用 OpenSwoole + Datastar 写不碰 JavaScript 的响应式 PHP 页面
编程
php-via:用 OpenSwoole + Datastar 写不碰 JavaScript 的响应式 PHP 页面
2026-09-29 21:31:24
php-via 把响应式状态留在服务端:OpenSwoole 提供异步运行时,Datastar 负责 SSE 与 DOM morphing,Twig 负责模板,全程无构建步骤、无 node_modules。本文给出 composer 安装、signal/action/view 的可跑示例、TAB/ROUTE/SESSION/GLOBAL 作用域、Redis/NATS 多节点广播与 /_health 端点。
PHP
OpenSwoole
Datastar
SSE
响应式
Twig
php-via
PHP 8.5 的 cURL 变化:持久 share handle、INFILESIZE_LARGE 与新的 curl_getinfo 字段
编程
PHP 8.5 的 cURL 变化:持久 share handle、INFILESIZE_LARGE 与新的 curl_getinfo 字段
2026-09-28 21:03:49
PHP 8.5 的 cURL 变化整理:curl_share_init_persistent() 让 share handle 跨请求复用,适合高频同主机场景、不适合多租户;CURLOPT_INFILESIZE_LARGE 绕开 2GiB 限制;新增 CURLINFO_USED_PROXY 等字段与 CURLFOLLOW_* 取值,附代码与坑。
PHP
cURL
HTTP客户端
连接复用
接口对接
PHP 8.6 新增 Time\Duration、clamp() 与 SortDirection:用法与边界
编程
PHP 8.6 新增 Time\Duration、clamp() 与 SortDirection:用法与边界
2026-09-27 21:02:49
PHP 8.6 新增 Time\Duration(纳秒精度、final readonly)、clamp() 与全局 SortDirection 枚举,并允许 readonly 属性带默认值。本文给出各原语的用法与限制、相关 RFC、弃用清单,以及 8.6 从 Alpha 到 GA 的时间线。
PHP
8.6
Time\Duration
clamp
SortDirection
PHP 8.6 的 Io\Poll:用 epoll/kqueue 替掉手写的 stream_select()
编程
PHP 8.6 的 Io\Poll:用 epoll/kqueue 替掉手写的 stream_select()
2026-09-27 21:02:49
PHP 8.6 新增 Io\Poll 命名空间,按平台统一用 epoll/kqueue/event ports/WSAPoll,取代用户态手写的 stream_select()。本文说明核心类型 Context/Event/StreamPollHandle、为什么替掉 stream_select()(FD_SETSIZE 上限、O(n) 扫描),以及它与引擎级 async scheduler(目标 8.7+)的关系。
PHP
8.6
Io\Poll
stream_select
epoll
Laravel 13:PHP 8.3 起跳,PreventRequestForgery 做 origin 校验,Cache::touch 一条 EXPIRE 续期
编程
Laravel 13:PHP 8.3 起跳,PreventRequestForgery 做 origin 校验,Cache::touch 一条 EXPIRE 续期
2026-09-26 21:03:32
Laravel 13 最低要求 PHP 8.3,CSRF 中间件更名为 PreventRequestForgery 并优先检查 Sec-Fetch-Site;Cache::touch 用一条 EXPIRE/TOUCH/UPDATE 续 TTL 而不取值。本文整理这两处升级注意点及 #[Middleware]/#[Authorize]、Queue::route、pgvector 语义搜索等改动。
PHP
Laravel
框架
缓存
安全
PHP 8.6 升级:三个 session 默认值静默翻转,跨站 POST 会掉登录
编程
PHP 8.6 升级:三个 session 默认值静默翻转,跨站 POST 会掉登录
2026-09-26 21:01:43
PHP 8.6 最可能打断生产环境的不是移除的函数,而是 session.use_strict_mode、cookie_httponly、cookie_samesite 三个默认值翻转且不报错。本文列出三项改动、跨站 POST 掉登录的复现路径、trim/unpack/NUL 字节等静默行为变更与弃用清单,并给出上线前的排查顺序。
PHP
8.6
session
升级迁移
安全
PHP 8.6 升级自查笔记:三十项弃用里,哪些会改变现有代码的行为
代码
PHP 8.6 升级自查笔记:三十项弃用里,哪些会改变现有代码的行为
2026-09-25 21:06:20
PHP 8.6 计划 2026-11-19 发布,真正值得提前处理的是约三十项弃用。本文按「是否改变运行时行为」分类整理:从 finally 返回、构造函数返回值、把对象当数组传给 array_walk/http_build_query、is_a 字符串首参、is/let 保留字,以及 mb_ereg 系列从 Oniguruma 迁到 PCRE /u 的语义迁移注意点。
PHP
版本升级
弃用
兼容性
PHP 8.6 弃用 mb_ereg* 与 mb_split:Oniguruma 停维护后怎么排查、怎么迁到 PCRE /u
代码
PHP 8.6 弃用 mb_ereg* 与 mb_split:Oniguruma 停维护后怎么排查、怎么迁到 PCRE /u
2026-09-24 21:12:23
PHP 8.6 因 Oniguruma 上游停维护,弃用 mbstring 全部正则函数(mb_ereg*、mb_split),PHP 9.0 移除。给出 grep 排查法、迁移到 PCRE /u 的六个坑(UTF-8 语义、\p{}、替换串转义、非法 UTF-8、全局选项),以及 8.6 其他弃用项清单。
PHP
正则
mbstring
迁移
PHP C 扩展移植到 PHP 8.6:UPGRADING.INTERNALS 里的内部 API 移除与替换
代码
PHP C 扩展移植到 PHP 8.6:UPGRADING.INTERNALS 里的内部 API 移除与替换
2026-09-23 21:02:57
把 PHP C 扩展迁到 8.6,先读 php-src 根目录的 UPGRADING.INTERNALS。文中按移除项给出替换写法:ZVAL_IS_NULL→Z_ISNULL、29 个下划线前缀流函数去前缀、zend_parse_parameter 改用 zend_parse_arg_TYPE,以及 arg_info 类型、EG(in_autoload) 改名、闭包 API 收 zend_object* 等改签点。
PHP
扩展
C
版本
导出 50 万行订单直接 500:PHP CSV 流式导出的排查顺序与 Nginx/FPM 配置
编程
导出 50 万行订单直接 500:PHP CSV 流式导出的排查顺序与 Nginx/FPM 配置
2026-09-22 21:31:12
从「导出几十万行订单页面 500、日志报 memory exhausted」出发,按排查顺序定位一次性查询、数组映射、字符串拼接三份数据叠加的内存峰值,改成分页游标+生成器+fputcsv 流式写出;并补齐 ThinkPHP StreamResponse、Db::cursor 与 Nginx proxy_buffering/FPM request_terminate_timeout 这些容易被忽略的长连接配置。
PHP
CSV导出
内存优化
生成器
ThinkPHP
Nginx
用 Rector 把 PHP 5.3 项目升到 8.5:它基于 AST,不是查找替换
编程
用 Rector 把 PHP 5.3 项目升到 8.5:它基于 AST,不是查找替换
2026-09-22 21:31:12
Rector 用 AST 自动升级和重构 PHP 代码,覆盖 5.3 到 8.5。本文给出安装、rector.php 配置、单规则与 prepared sets 用法、--dry-run 预览、CI 退出码 2 的含义,并强调一次只上一个版本集、输出格式要接 ECS/PHP-CS-Fixer、CODE_QUALITY 与 EARLY_RETURN 规则竞争这些实战取舍。
PHP
Rector
代码重构
PHP升级
静态分析
CI
ShowDoc 两个未授权入口:SQL 注入读 token,上传目录 getshell
综合
ShowDoc 两个未授权入口:SQL 注入读 token,上传目录 getshell
2026-09-21 21:03:14
ShowDoc 默认 PHP + SQLite 部署,有两条影响面较大的入口:2.8.7 之前的未经验证文件上传 RCE(CVE-2025-0520),3.2.5 及之前的未授权 SQL 注入可读走 SQLite 里的用户 Token。本文整理影响版本、利用前置条件与 7 条加固项。
安全
PHP
SQL注入
漏洞修复
Laravel 13 发布:最低 PHP 8.3,Http::pool() 默认并发从 null 改成 2,向量搜索进查询构造器
编程
Laravel 13 发布:最低 PHP 8.3,Http::pool() 默认并发从 null 改成 2,向量搜索进查询构造器
2026-09-21 20:02:44
Laravel 13 发布,最低要求 PHP 8.3,把原生 PHP Attributes 铺到模型、Job、命令等 15 处以上;内置 Laravel AI SDK、JSON:API Resources、Queue::route 与基于 pgvector 的向量搜索;Cache::touch() 免读延长 TTL;Reverb 新增数据库驱动,可不用 Redis 横向扩展。另修了 Http::pool() 并发默认 null 导致串行的坑,并附支持时间线与升级路径。
Laravel
PHP
框架
后端开发
升级
PHP 8.6 进入 Beta:PFA 通过、clamp() 与 Io\Poll 落地,readonly 属性可以写默认值了
编程
PHP 8.6 进入 Beta:PFA 通过、clamp() 与 Io\Poll 落地,readonly 属性可以写默认值了
2026-09-21 20:01:58
PHP 8.6 定档 2026-11-19,9 月 22 日功能冻结。本文按官方节奏梳理这版的实际改动:部分函数应用(PFA)补完了管道操作符缺的那一半,clamp()、Time\Duration、Io\Poll 轮询 API 与 Stream 统一错误模型落地,readonly 属性可以写默认值,session 三项安全默认值在新装环境里被收紧。
PHP
8.6
语言特性
PFA
性能
50ms 模拟 DB 延迟下:PHP+Swoole 1912 RPS,Go 394 RPS,P99 却低一个数量级
案例
50ms 模拟 DB 延迟下:PHP+Swoole 1912 RPS,Go 394 RPS,P99 却低一个数量级
2026-09-19 00:04:21
一份可复现的跨语言 I/O 基准:4 vCPU 机器上压 MySQL,50ms 模拟 DB 延迟下 PHP+Swoole 跑到 1912 RPS,Go/Node/Python/PHP-FPM 齐刷刷卡在 388–394。附测试环境、结果表、复现命令,以及连接池把吞吐压成"撞墙"的取舍分析。
语言对比
性能对比
PHP
Go
Python
Node.js
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
案例
Go 返回错误值,JS/Python/PHP/C# 抛异常:两类错误处理架构对照
2026-09-19 00:03:40
对比 Go 的「错误即值」与 PHP、JavaScript、Python、C# 的异常机制:显式控制流与隐式跳转的取舍,附 errors.Is/As、%w 错误链、状态封装与装饰器两种避免 if err != nil 地狱的实战模式。
语言对比
错误处理
异常机制
Go
PHP
Python
编程语言
Laravel 关掉周边包 Issues:不会修就交给 AI 提 PR,这份贡献指南在赌什么
资讯
Laravel 关掉周边包 Issues:不会修就交给 AI 提 PR,这份贡献指南在赌什么
2026-09-18 21:06:12
2026 年 9 月 Laravel 关停了骨架与大部分周边包的 GitHub Issues,贡献指南改为「遇到 bug 就描述给编程 agent、直接提 PR」。本文厘清 laravel/framework 与 laravel/laravel 两个仓库的实际状态、官方对 AI 生成 PR 的约束,以及与「只收 issue」模式的取舍。
Laravel
PHP
开源
AI编程
FrankenPHP 装法与运行:Go 写的 PHP 应用服务器,php-server 与 Worker 怎么配
编程
FrankenPHP 装法与运行:Go 写的 PHP 应用服务器,php-server 与 Worker 怎么配
2026-09-18 20:01:16
FrankenPHP 是用 Go 编写、构建在 Caddy 之上的 PHP 应用服务器,通过 CGO 把 PHP 解释器嵌进 Go 运行时。本文整理各平台安装方式、php-server / php-cli 命令参数、Docker 部署、Caddyfile 与 php.ini 配置差异,以及 Worker 模式原理。
PHP
FrankenPHP
Caddy
Docker
Go
DooTask 自托管部署:./cmd install 起服务,升级 502 与迁移备份
编程
DooTask 自托管部署:./cmd install 起服务,升级 502 与迁移备份
2026-09-18 00:03:52
DooTask 是 PHP + Vue 的开源协作平台(任务、文档、思维导图、IM)。这篇记录用 Docker Compose 一条 ./cmd install 起 MariaDB/Redis/php-fpm/Nginx,以及端口、SSL、升级 502 用 ./cmd reup、迁移要拷 public/uploads 与 docker/appstore 等运维细节。
协作工具
DooTask
自托管
Docker
项目管理
PHP
Symfony 8.1 Console:剪贴板图片当命令入参、参数解析器、无 HTTP 内核
编程
Symfony 8.1 Console:剪贴板图片当命令入参、参数解析器、无 HTTP 内核
2026-09-17 21:02:09
Symfony 8.1 稳定版(最低 PHP 8.4)给 Console 带来三件事:终端粘贴图片作为命令入参、与 controller 同机制的参数解析器、以及无 HTTP 内核。文中给出 InputFile 加 #[Ask]、MapEntity 与 MapDateTime 的代码示例与已知限制。
Symfony
PHP
Console
命令行
PHP 8.4.26 RC1 / 8.5.11 RC1:hash_pbkdf2() 堆缓冲溢出与 SNMP 释放非 malloc 地址
资讯
PHP 8.4.26 RC1 / 8.5.11 RC1:hash_pbkdf2() 堆缓冲溢出与 SNMP 释放非 malloc 地址
2026-09-16 21:02:59
PHP 8.4.26 RC1 与 8.5.11 RC1 以安全加固与内存安全修复为主:hash_pbkdf2() 大输出长度触发堆缓冲溢出(密钥派生场景需尽快升级)、SNMP::setSecurity() 释放非 malloc 地址,8.5 侧修 DOM/Phar/Intl 的 UAF 与 Opcache 竞态、JIT 崩溃。文末提示 8.4 将于 2026 年 12 月 EOL,并附发行版 CVE 清单。
PHP
安全
内存安全
版本更新
PHP-FPM 生产调优:OPcache/JIT、max_children 计算与 Composer classmap 的坑
编程
PHP-FPM 生产调优:OPcache/JIT、max_children 计算与 Composer classmap 的坑
2026-09-15 21:32:09
经典 PHP-FPM 栈的生产调优清单:OPcache 与 JIT 参数、pm.max_children 按内存计算、超时与慢日志、以及 Composer 2.9.6+ 起 dump-autoload -o 不再生成 classmap 的坑与验证方法。
PHP
PHP-FPM
OPcache
Composer
性能优化
运维
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
下一页
共 4 页
到第
页
确定