一个克制的、理性的关注互联网科技和人文的频道,也谈谈美食和电影,发现和分享一切有趣有价值的内容。
PHP的江湖往事与时代挽歌

“独领风骚十数年”,这句话用在PHP身上,再合适不过。

初识PHP是在2004年。那时候的中国互联网野蛮生长,ASP/JSP/PHP,风头日盛,CGI渐落西山。ofstar和CTB这些纯文本数据库产品昙花一现,随着MySQL的普及,取而代之的是PHPWind、Discuz和WordPress等产品的强势崛起。

同一时期,PHP 5引入了完整的面向对象编程(OOP)支持和 PDO。正是 PHP 5 的成熟,才为后来 Symfony、Yii 现代框架的诞生铺平了道路,但也撕裂了PHP 。10年间,不乏有人反复争论面向对象和面向过程谁更优,有人比拼MVC框架与面条代码谁性能更高,有人咒骂PHP向Java学习增加了复杂度。

2010年后,PHP迎来最鼎盛的黄金十年。LAMP组合声名赫赫,圈内号称中国有150万PHP程序员,而当时全中国互联网从业人员据称不过900万。早高峰的北京,一抓一把PHP信徒。博客+论坛+CMS+小电商,PHP统治了中国80%的网站数量。甚至不少大型互联网公司,如淘宝、京东早期都有过PHP的影子,facebook更是PHP人心中的圣地。

因为入门门槛低,草台班子盛行,PHP程序员在当时常被蔑称为“脚本小子”,PHP圈与前端圈后被戏称为“互联网娱乐圈”。但这丝毫不影响大家大赚特赚,无数PHP朋友早早开上了宝马,娶了小娇妻。2015年的北京,哪怕只会打字,在培训班待三个月,开口要18K也是洒洒水小意思;要是真懂编程,3万、5万甚至10万,你敢开口我就敢给。财富自由,在这个圈子成了家常便饭。2026年毕业的大学生若得知此文,第一反应是纯属谣言,第二反应是气到吐血。

提到PHP,绕不开PHPChina(PPC)这个社区。在2008到2013年间,它风头无两,集结了国内半数PHP大牛。PHP历史上的风云人物,莫不在这里留下过身影。

首当其冲的便是人称“鸟哥”的惠新宸(Laruence)。这位西交大的造反派之一,先后在雅虎、百度、新浪和贝壳任职,后来成为PHP开发组的第一位中国人,更是“拯救了PHP7的男人”。由于圈子基数大、造神动力强,他成了2010至2020年间全中国最炙手可热、粉丝最多的程序员,没有之一。2020年后,鸟哥功成身退淡出技术一线,携数亿身家过上了令人艳羡的财富自由生活。

第二位是韩天峰,Swoole和phpy的创始人。他是PHP技术圈数一数二的人物,也是至今仍死磕PHP的一号人物。尽管因其种种奇葩言行,圈内对他微辞颇多,但即使面对PHP的日渐衰落,仍怀“虽千万人吾往矣”的勇气,堪称“PHP圈的擎天柱”,成为了2020年后末世几十万PHP遗老遗少的救命稻草。

除此以外,PPC还涌现了一众风云人物:号称要开发最好CMS的“冯疯子”;凭一己之力整合PHP和GTK要做桌面开发的“狗头哥”;后来写了《PHP核心技术》的白面小生“松爷”;天天嚷着要和Laruence掰手腕的暴躁Moxie;公开自己是蕾丝的panda姐;以及在PHP内核和C语言领域有较深造诣的红眼lajabs、滴滴乐天等高手。

然而,国内开发水平的参差不齐让社区充斥着灌水现象,加上PHP长期缺乏突破、问题同质化严重,高端人才脱圈,PPC最终走向了关站。

在框架与作品方面,PHP的历史是一部模仿与超越的进化史。极力模仿Struts的Zend Framework显得过于晦涩难懂;偷师Spring与Rails的Symfony让人又爱又恨;CodeIgniter和Kohana曾让中国PHP眼前一亮;刘晨携漏洞王ThinkPHP霸场中国;Yii以优雅著称;Laravel优秀却略显笨重;Drupal血统高贵;还有C扩展驱动的Phalcon和鸟哥的Yaf。当然,市面上更多的是草台班子手撸的框架。

在产品线上,PHPWind与Discuz相爱相杀,ShopEx与Ecshop暗中较劲,Workerman与Swoole你争我吵。据估算,仅WordPress、Ecshop、Discuz和DeDeCMS这四款产品,就养活了中国40万PHP程序员,也造就了无数灰色产业链,据不权威统计,每10个灰色网站,就有10个是PHP开发。除此外,Magento,phpBB,Typecho也都名噪一时。


Java强大的生态,曾让不少PHP人感到如芒在背。但在模仿与追赶中,PHP也曾有过绝地反击的高光时刻。当所有人都以为PHP要进ICU时,鸟哥等人主导的phpng项目横空出世,硬是把PHP 7的性能拉高了一倍,一度逼近老迈的Java。那一刻,PHP在ICU里直接做了一个后空翻。

然而,随着Golang的异军突起和Java微服务的燎原之火,PHP最终还是走向了衰落。

PHP赢就赢在Web开发最快最简单,输就输在基因就是做Web开发。

在高光时候,有人向PHP靠近,比如Delphi For PHP,Resin等产品;为了突破基因限制,PHP人也主动出击在生态上做过不少努力,推出了PSR标准化,以及PHP For Android、PHP For 大数据、 PHP For AI等“胶水产品”。但最终,这些尝试都因基因缺乏、加之社区热衷于赚快钱,纷纷折戟于时代浪潮。

也有人认为,移动互联网与前后端分离的兴起,让前端胶水PHP失去光彩;还有人认为,高并发、常驻内存让PHP捉襟见肘。

回望这段历史,PHP最大的贡献是撑起了百万就业大军,让数以万计的草根得以财富自由。但豪不客气的说,在技术理念和创新上,PHP鲜有建树。它的基因里刻满了实用主义的妥协,为了追求极致的开发效率,它牺牲了严谨的类型系统和工程规范,进而吸引了追求实用的社区,然后不断被反噬。其实,性能一直都不是PHP衰败是主要原因,只是属于PHP的时代已经落幕。基因不允许,社区不允许,时代不允许。
刚刚在网络评论里看到一句话:“你去公园里转转,那些活到九十多岁还精神抖擞、骂起人来中气十足的老头老太太,你打听打听,年轻时没一个是省油的灯。反倒是那些一辈子与人为善、处处替人着想的老好人,坟头草都长老高了。老天爷不长眼?不是,是好人自己把自己消耗没了。”
云南人:我们不用空调,这是文化传统。


一些没见过世面的中国人,天天空调出击,好像不装空调非穷即蠢似的。

等全球气候升温来打脸😊

中国人谁家里还没三四个空调啊


抱歉,我们村都凑不出三四台空调
一架轻型运动飞机6月26日下午从北京平谷石佛寺机场起飞后进入北京市区,撞击东三环中信大厦(中国尊)解体。现场照片显示,该机注册号为B-12PP。
HK01
张小龙又血崩啦

一个表情,让张小龙再次血崩,windows/android/Mac 无一幸免。

张小龙为何三番五次血崩?这一切的背后,是道德的沦丧还是人性的扭曲?

经测试,原生安卓幸免于难,国产安卓手机基本都会崩溃
Gmail动不动就强制绑定设备和手机号,我20多年的账号换手机就无法登录使用了。
Outlook一个德行,对安卓用户最多允许三次使用密码登录,超过就强制密钥登录,关键这个政策在他们官网就找不出明确声明,但又确确实实存在,我的一个号又噶了,在安卓上无法登录使用,除非使用他们的官方app。
mail/gmx 则是全方位限制中国用户注册,即使使用VPN和国外手机号也不行,哪怕幸运注册成功了,后期使用依然可能各种封禁。
protonMail和Tuta倒是友好,但是不支持IMAP协议,只能网页或APP使用。

至于中国国内邮箱,可以不提。

互联网看似发展的如火如荼,但基础设施正在高度集中,而巨头们正在用“安全”的借口,行“生态垄断”和“数据控制”之实。

Oh,shit!
冯梦龙《笑史》记载:一官员抄严氏父子家时,在严世蕃床底下发现许多崭新白绫汗巾,不知道干啥用的,就拿了一条问人。知情者说这是严世蕃打炮计数用的“秽巾”,年底统计一下可以知道今年打了多少炮,“为淫筹焉”。

这个情节后来可能融入了清代《笑林广记》的另一个笑话:一个安徽人开当铺不识货,把单皮鼓当成皮锣、笙当成斑竹酒壶、笛子当成丝缉火筒。有人拿“了事帕”(房事后擦牛子的汗巾)来当,他喊到:“虎狸斑汗巾一条。当银二分。”伙计说:“这物要他何用?”答云:“若不赎,留他抹抹嘴也好。”当铺老板不识货的母题被相声艺人改成了《当行论》,刘宝瑞和郭全宝讲过,但了事帕这种太三俗的就不讲了。

汗巾是明清男女贴身之物,平时用来擦汗抹嘴拭泪,沾染着身体气息,本身就是情欲载体,所以常用作定情之物。比如陈经济就执意索要潘金莲的贴身汗巾,潘金莲还担心被西门庆发现。她给西门庆口时,也是先用汗巾把他牛子捋直了,“妇人旋向袖子里掏出个汗巾来,将那话抹展了一回,方才用朱唇裹没。”不过汗巾还得洗,现在有房事专用的一次性湿巾,比它好用且卫生,但也许就少了点情欲刺激了。

source
子曰:“不愤不启,不悱不发。举一隅不以三隅反,则不复也。”
子还曰:“中人以上,可以语上也;中人以下,不可以语上也。”

#馊鸡汤
野蛮生长的互联网旧事

2009-2010年的时候,javaeye有个叫ZHH2009的自考大专生,发布了一个叫Douyu的框架

作者基于OpenJDK的javac编译器进行了深度定制和扩充。把它和内置的 HTTP 服务器结合后,开发者直接修改 Java 源文件,刷新浏览器就能看到运行结果,完全不需要手动编译,也不需要重启服务器。

Douyu 彻底甩开了JSP/Servlet那套繁琐的规范和臃肿的容器,作者自己大刀阔斧地改造出了一个基于NIO技术的精简版 HTTP 服务器,整个服务器只有 60 个左右的源文件,极度轻量。

这个框架主要就是模仿当年爆火的Rails框架,包括注解、ORM,在SSH如日中天,webwork苟延残喘的那个年代,整体给人感觉惊艳,吸引了400多层楼的回复。

然而,随着SpringMVC的兴起,这个小众框架只发布了0.1版本,但是在2010-2013期间,陆续出现了一堆脱离Servlet体系的JavaWeb框架以及Vert.x开始引起关注,然最终又被SpringBoot带回了Servlet体系。

后来这个大专生去了阿里,不到两年后离职,创业去做大数据与分布式去了,在知乎和微博掀起了一场腥风血雨,引来了学院派和工程派的大型互殴。

同一时期,温少的fastjson框架也横空出世,以其极致的性能引起了几百层楼的讨论,后来fastjson也成了漏洞的代名词。

仍然是同一时期,Javaeye也出现了莫枢(RednaxelaFX)这样的JVM大佬,国内权威,没有之一,后来去了阿里,再后来出国去搞大数据,直到籍籍无名。

奈何,javaeye在2020年时寿终正寝,技术大讨论的时代一去不复返。

更久一点,51Js在2003-2015年那个时代,也是中国JavaScript的权威论坛,没有之一,孵化了后来一大批后来风头无俩的前端大佬以及前端大佬的大佬。

往后,2013-2019,这七年间,是PHP的舞台,炙手可热,造就了一堆百万、千万,亿万富翁程序员,程序员炫富斗富横行,引爆了“想致富,学PHP”说法。

#互联网拾遗
中国安装师傅拒绝安装小米空调始末

最近闹得很凶,事情的起因是小米搞了个"数字抽真空"。

空调安装有个关键工序叫抽真空——用真空泵把内外机连接铜管里的空气和水分抽干净,再放制冷剂。如果这步偷工减料,空调会制冷差、耗电高、压缩机寿命大幅缩短。

根据国标 GB/T 17790-2025,变频空调挂机抽真空不得少于15分钟,2匹要20-25分钟,3匹以上不少于30分钟。

但长期以来,这个环节完全是"黑盒"——师傅用机械表+人工计时,全凭良心,很多师傅只抽两三分钟就糊弄过去,消费者根本无从监督。

小米的做法是:给安装师傅标配智能数字真空计,通过蓝牙连接后台系统,压力数值和抽吸时长实时上传云端。不抽满15分钟、负压不达标,系统直接锁死不让结单。用户还能在米家App里看到完整的压力曲线报告。

为什么安装师傅不愿意接小米的单,核心原因就一个字:钱。空调安装行业是计件工资,旺季一天能装四五台,多装一台就多赚一份钱,所以很多师傅私下抵制、故意挑单不接小米的派单,不少人拍短视频阴阳怪气地"感谢雷总让他们休息15分钟"。

更离谱的是有人开始造假,而且小米这波操作直接把整个行业卷起来了,部分品牌要求师傅上传抽真空的照片视频作为结单凭证,也有部分品牌宣称自家配的是大排量真空泵。

你知道空调安装需要抽真空吗?


中国蓝领工人一直以来地位低,口碑差,装维行业是个重灾区。
那些能想象出任何事物的人,终将创造它。

今天,2026年6月23日,是艾伦·图灵诞辰114周年。1912年的这一天,他出生在伦敦。1952年,他因同性恋行为被定罪,接受化学阉割。1954年去世,终年41岁。2009年,英国政府正式道歉;2013年,获女王特赦。
Universal Installer万能安卓app安装器

Universal Installer is a modern Android package manager that handles what the default installer can't.

Install APK, APK+, APKS, XAPK, APKM (with split APKs and OBB files)

在中国这种网络环境下,似乎挺有用的,便于迁移非常规apk文件


source
建了一个keet的交流群,作为国内用户墙内随时随地匿名交流的渠道之一。

keet下载地址: https://keet.io/

keet是一个相对而言,用户体验和匿名性比较平衡的im软件,且社区相对活跃,软件跨平台,仅客户端部分开源。

创建账户后扫码或浏览器输入链接即可入群。

keet://chat/gfoarjunto7g5dgyqy9td4cg73nz6g54dcb9pp43bdjz5kotcii9ndsdqtp71qc9kenmr8kuq79zsu7euqn6ktzssr8y5k86r6su1d8xmd1f4jejhtcops8sgtbcryjrwp8ehfnnbnr8yj3zyo5fde9p686oeyedre91rh75pjytm31cbmeawtrubyhcgya
日本首富孙正义,曾说自己在生病住院的一段时间里,足足看完了3000本书,积累了庞大的知识量,最后才创业成功。

后来日本作家井上笃夫为孙正义写自传,他也是较真,专门找到了孙正义当年的主治医师,求证这个故事。

时隔多年,主治医师还对孙正义很有印象,他说出了真相:“3000本书应该是有的一不过都是漫画书。”

#名人轶事
各 Android 手机厂商 Bootloader 解锁 / 内核开源 / 解锁后保修情况

目前已启用 GitHub Pages: https://mlgmxyysd.github.io/android-bootloader-kernel-source/

Repo 地址 (如有错漏欢迎提交 PR): https://github.com/MlgmXyysd/android-bootloader-kernel-source

(原文档停止维护,本人已接手)

注:本文档仅收录厂商官方 BootLoader 解锁方式,不收录任何三方的付费解锁渠道
这个设计很好,建议全国推广
https://lore.org/
Lore是一个集中式、内容寻址的版本控制系统,使用默克尔树和不可变的版本链来表示仓库状态,并针对二进制优先存储、重复数据删除以及大规模的稀疏/按需数据水合进行了优化。

Lore 旨在处理的工作负载

它们与内容无关。一个典型的代码仓库包含源代码、构建输入、配置、预构建工件、大型数据文件、生成的内容以及任意二进制数据块。没有哪一种内容形式占据主导地位,也没有任何实用工具能够专门针对一种内容形式而将其他内容形式视为降级处理。

它们在各个方面都非常庞大:文件数量达数百万,单个文件大小达到TB级,历史记录包含数百万次的修订,每个项目有数百个分支,数千个并发用户,以及数百个代码库共享同一个后端部署。任何一个方面都足以让现有系统不堪重负;而所有这些因素加在一起,更是让现有系统彻底无力应对。

它们由中央统一协调。必须存在一个单一的逻辑数据源——用于访问控制、持久性、审计和冲突解决——但开发人员仍然需要能够离线工作、排队提交版本,并在无需往返远程服务器的情况下暂存更改。

设计文档全文: https://epicgames.github.io/lore/explanation/system-design

看起来不错,设计很先进,从一开始就避免了git的诸多设计问题。 Learn about Lore: next-generation open source version control
禁书图书馆

作者 Rick Osgood受科幻小说启发,希望在极权或审查环境下,通过物理设备保存和传播重要书籍。于是通过技术手段,将普通的 Wi-Fi 智能灯泡改造成一个无法被审查的离线图书馆,用于在物理空间中秘密传播被禁锢的信息。

其外形与普通灯泡无异,通电即服务,难以被察觉,并且成本低,适合大规模部署。灯泡开启后,会创建一个开放的 Wi-Fi 热点和 Web 服务器。附近的用户只需连接该热点,即可通过浏览器访问内置的“禁书”列表并下载阅读。

作者最初选用的是预装 Tasmota 固件的灯泡,因因Tasmota 功能臃肿且占用空间大,作者决定使用 Arduino 和 ESP-IDF 框架编写自定义固件。通过动态修改闪存中的分区表,大幅压缩主程序空间,将可用数据空间从320KB扩展至 2MB,从而能存储约 5-6 本电子书.

网络层面则使用强制门户(Captive Portal),配置了 DNS 服务器和 HTTP 重定向,无论用户在浏览器输入什么地址,都会自动跳转到图书馆首页。

作者提到了未来的改进方向,包括增加 RGB 颜色调节的精细度,以及利用去中心化哈希表(DHT)技术让多个灯泡组成 Mesh 网络,共享书籍资源。

https://www.richardosgood.com/posts/banned-book-library/
Back to Top