讲解一下这次PHP核弹级别漏洞的原理 风雪之隅(鸟哥) 1 day 1 hour ago PHP爆出隐藏十几年的核弹级RCE(php2shell),无需认证、应用代码执行前就触发。本文从RINIT时序、session.upload_progress、悬空指针到堆伪造,拆解UAF如何一步步变成远程代码执行。 laruence
Yac 3.0 发布:常见缓存负载吞吐提升 42% 风雪之隅(鸟哥) 4 days 7 hours ago Yac 3.0 发布, 进一步优化了单机 PHP 共享内存缓存的核心读写路径:引入 Inline 存储,让短 key 携带短字符串和 double 值时不必分配 values block;用 Versioned Snapshot 降低读路径协调成本;通过 Memory Epoch 在可证明数据稳定时跳过 CRC-32C,并保留必要的校验 fallback;同时统一内部 serializer,并新增 Yac::has() 等 API。基准测试中,Yac 3.0 相比 2.4.2 在 6B 到 8KB 的匹配负载中几何平均吞吐提升 42.3%,常见小值路径最高提升 95.4%。 laruence
GPT-6 Astra 做实景三维重建,我拿一套住宅试了试 风雪之隅(鸟哥) 1 month 1 week ago GPT-6 Astra 能否把真实住宅重建为可拆分的三维资产?我用如视伽罗华 P4 的全景、点云、深度图等数据实测:高质量空间数据如何让 AI 从“想象”走向“工程”。 laruence
Yac 2.4.0发布 - 小值读取性能提升64% 风雪之隅(鸟哥) 1 month 4 weeks ago Yac 2.4.0 来了。起因是博客缓存被空数组挤爆:WordPress 的搜索负缓存和 Akismet 的 cron 会写入大量没人读的空数组,持续吃 values 内存还引发 recycle 误伤。这个版本最大的改动是 embedded values——小标量直接编码进 slot 的指针字,不再写 values 区;另有 LZ4 替换 FastLZ(解压快 ~3.5x)、get() 支持 $default、dump() 支持分页与逐条 hits/atime 统计。混合负载读取提升 70%,我的博客 values 内存从 23.5M 降到 12.4M。 laruence
用Yac给WordPress做缓存:比Memcached快19% 风雪之隅(鸟哥) 2 months ago WordPress 每次读取 Memcached 都要承担 localhost TCP 和协议处理成本。换成共享内存缓存 Yac 后,这个博客实测吞吐提升约 19%,同时减少了一个需要维护的缓存服务。 laruence
Wechatian: 让AI有事就来微信找你 风雪之隅(鸟哥) 2 months ago Wechatian 是一款 Obsidian 插件,直接双向打通微信和Obsidian知识库,不需要第三方服务:微信发来的文字、图片、文章链接自动剪藏进Obsidian知识库;往obsidian wechatian发件箱写文件即可经腾讯 ilink 网关发出微信消息。无任何第三方中转,任何会写文件的程序都能发微信给你。简单配置就可以让AI Agent 干完活直接微信通知你,再也不用守着电脑等待。 laruence
用DeepSeek V4 Pro改进Yaconf:快是真快,但它把我代码搞丢了 风雪之隅(鸟哥) 2 months 1 week ago 让 DeepSeek V4 Pro 给 yaconf 1.2.0 做 compact 存储:随机读快40%、内存省16%——但一次 git 操作弄丢了几百行核心代码。快很重要,稳更重要。 laruence
用Obsidian+Claudian+Ds搭建个人AI助理 风雪之隅(鸟哥) 2 months 1 week ago 一小时搭建私人 AI 知识管理员的实操教程:Obsidian + Claudian + Claude Code + DeepSeek,让 AI 替你读资料、整理笔记、随时答疑,数据全部本地掌控,不写代码也能搭。 laruence
Taint支持PHP8啦! 风雪之隅(鸟哥) 2 months 2 weeks ago 唯一因实现困难而放弃维护的项目 Taint,被 Qwen3.8 复活:2亿 Token、406 元、约5小时,完成这个 XSS/注入检测扩展的 PHP8 适配。 laruence
我的微信公众号 风雪之隅(鸟哥) 2 months 3 weeks ago 前两天在公众号发了新文章,炸出来很多的老朋友,本来今天想说把文章同步到个人博客。 但我真到可能是年纪大了,越来越懒了,🤣 想到以后都要同步到话,实在是有点。 把我的公众号贴出来吧,有兴趣的可以关注下,后续万一有事,来公众号找我吧。 laruence
PHP8.0的Named Parameter 风雪之隅(鸟哥) 4 years 5 months ago 年前花了点时间,对Yar的性能做了一些做了一些提升,但是也遇到一个让我有点不舒服的当初没有良好设计遗留的问题,就是在并行调用RPC的时候,现在的方法原型是: public static Yar_Concurrent_Client::call(string $uri, string $method, ?array $arguments = NULL, ?callable $callback = NULL, ?callable $error_callback = NULL, ?array $options = NULL):null|int|bool {} 是不是一看就很头大? laruence
关于PHP,关于Realsee 风雪之隅(鸟哥) 4 years 6 months ago 从PHP8.0之后,我参与PHP开源就少了,从而博客也写的少了,不少朋友来问,所以觉得有必要用一篇文章说明下近况。 总的来说,本职工作发生了一些变化,导致工作上的事情,牵扯了太多的精力,从而没有办法有太多的精力投入PHP开源工作中。 而关于,工作的变化,我稍微详细的介绍下: laruence
PHP8新特性之match表达式 风雪之隅(鸟哥) 6 years 3 months ago PHP8 alpha2发布了,最近引入了一个新的关键字:match, 这个关键字的作用跟switch有点类似。 这个我觉得还是有点意思,match这个词也挺好看,那么它是干啥的呢? laruence
一个关于if else容易迷惑的问题 风雪之隅(鸟哥) 6 years 3 months ago 这个本来是之前在微博上有个同学说他经常用来面试别人,大概是说,对于如下代码,你觉得会输出啥: $a = true; if ($a) { echo "true"; } else label: { echo "false"; } 当时没想写,今天中午又有人问我,我想那就介绍下这个原因吧. laruence
PHP 8新特性之JIT简介 风雪之隅(鸟哥) 6 years 3 months ago PHP8 alpha1已经在昨天发布,相信关于JIT是大家最关心的,它到底怎么用,有什么要注意的,以及性能提升到底咋样? laruence
使用SSE2指令高效实现strtolower 风雪之隅(鸟哥) 6 years 4 months ago PHP的类名,函数,方法名是不区分大小写的,也就是说无论你怎么定义函数名,实际上在引擎层面查找的时候都是会统一转换成小写形式来做的。 也就是说strtolower的应用是非常普遍的。 当然,PHP也做了很多的设计来避免对字符串做过多的字符串小写操作,比如如果我们在PHP代码中写下: CamelFunc(); 这样的函数调用的时候, PHP会在编译时刻就把CamelFunc全部小写,然后存储在原始字面量之后(PHP-5.4 literals)。 laruence
PHP 8新特性之Attributes(注解) 风雪之隅(鸟哥) 6 years 4 months ago PHP8的Alpha版本,过几天就要发布了,其中包含了不少的新特性,今天呢,我想谈谈Attributes,为啥呢, 是昨天我看到很多群在转发一个文章,叫做《理解PHP8中的Attributes》,说实在的,这篇文章应该是直接从英文翻译过来的,写的晦涩难懂,很多同学看完以后表示,看的一头雾水,不知道在说啥。 于是我想,就用一篇文章来简单说说这是个啥。 laruence
使用OSC52实现iTerm2远程pbcopy 风雪之隅(鸟哥) 6 years 5 months ago 最高效的码字方式,一定有一个特点,那就是手指离开键盘的次数尽可能的少。 并且手指码字的时候的在键盘的跨度尽可能的短, 这也是我认识不少老牌程序员用Vim也不用ESC, 而是使用ctrl+[, 甚至还有.... laruence
Yaf 3.2 发布 风雪之隅(鸟哥) 6 years 6 months ago 经过俩周多的重构,终于一咬牙今天发布了Yaf 3.2.0 beta, 要不然一直在想各种可能的优化点,不停的写,没完了, :) 这次的重构的最初出发点是把原来的Yaf对象从PHP的原生对象,改成了自定义的对象: laruence
使用PHP Socket开发Yar TCP服务 风雪之隅(鸟哥) 6 years 6 months ago Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter, 这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。 今天我们尝试用PHP来写一个TCP的Server,来介绍下如何实现对Yar RPC协议的处理, 这个例子可以方便的结合Swoole等异步PHP框架,实现一个高性能的Yar TCP Server。 这个过程中, 会让大家了解Yar的RPC通信协议,以及捎带了解下Socket编程。 laruence