PHP的下半场:从建站神器到存量场景的生存博弈

上周帮苏州一个做家居建材的客户排查老系统,那个站是2012年用ThinkPHP3.2写的,跑了11年,扛着每天4万多的访问量,旁边的新用户中心是Go写的,流量还不到老站的三分之一。那天蹲在机房调接口的时候,突然觉得网上吵了十年的“PHP已死”的论调,实在太扯了。

被刻板印象绑架的技术边界

很多人对PHP的认知,还停留在“写出来的代码慢、不安全、是业余选手写的”阶段。

PHP从1995年诞生那天起,设计目标就只有一个——快速处理Web请求,把动态数据渲染成HTML页面返回给用户。它从来没有为长驻进程、高并发计算、分布式系统做过原生设计。这是基因里的边界,不是靠后续打几个补丁就能完全消除的。

很多人还在说PHP慢,其实真的没跟上版本。从PHP7开始引入的OPcache机制,把编译后的字节码存在内存里,省掉了每次请求都要重新读文件、编译脚本的开销,再加上PHP8.0之后引入的JIT即时编译,在纯Web渲染场景下的性能,已经和Node.js的Express框架差不多,比传统的Java Spring Boot在低并发下的冷启动速度快了不止一个量级。

PHP8.3与Node.js20、Go1.21的Web框架压测对比图
PHP8.3与Node.js20、Go1.21的Web框架压测对比图

真的。

当然,你要是让PHP去写一个实时音视频转码服务,或者扛十万级QPS的分布式网关,那纯属拿螺丝刀当锤子用。它的边界从来都很清晰:适合写开发周期短、逻辑以页面渲染、表单处理为主的Web应用,不适合写计算密集型、需要长驻运行的底层服务。很多人吵PHP好不好,本质上是根本没搞懂它的适用场景。

不是衰落,是换了个活法

很多技术社区的人说PHP没人用了,其实是他们身边的圈子没人用了而已。看公开的统计数据,WordPress现在还支撑着全球43%的公开网站,从个人博客到中小企业官网,再到很多新闻媒体的前端,背后全是PHP。国内的生态呢?Discuz虽然老,但是直到现在,还有成千上万个地方论坛、行业社区跑在Discuz的基础上,根本没有动力重构。

以前大家用PHP写项目,选框架无非是ThinkPHP、Yii、CodeIgniter,现在呢?Laravel的下载量早就断层领先了。打开Packagist的实时榜单,Laravel相关的包每个月的下载量破亿,比剩下所有PHP框架的下载量加起来都多。很多做中小SaaS的团队,根本不跟风去用Java或者Go,直接拿Laravel搭后台,Auth权限、队列、缓存、邮件这些功能全是现成的,两周就能把一个产品的MVP做出来,成本比用Java省至少三分之二。

2024年全球公开网站技术栈市场占比统计饼图
2024年全球公开网站技术栈市场占比统计饼图

上次和一个在杭州做外包的朋友吃饭,他说现在接的单子,只要是预算30万以下的中小客户,90%都选PHP。不是因为有情怀,是因为交付快、bug少、运维成本低。客户根本不关心你后端用的什么语言,他只关心能不能2周上线,系统坏了能不能当天修好,后续加个小功能是不是不用花大价钱。那些在网上喊着“用PHP就是技术落后”的人,大多根本没接过真实的商业项目,全是在自己的技术小圈子里自嗨。

说真的,我见过太多团队为了追技术潮流,把一个本来3万块钱就能用PHP搞定的项目,硬要用微服务、K8s、Java全家桶做,最后花了30万,延期3个月上线,客户最后气得要退款。

藏在存量生态里的隐形风险

PHP现在的日子看着安稳,其实坑一点都不少。

首先是安全风险。全球范围内跑着太多无维护的老PHP系统了,很多是十几年前的个人开发者写的,根本没做参数过滤、权限校验,SQL注入、文件上传漏洞一抓一大把。之前看到的行业统计,过去三年被入侵的公开网站里,超过60%是存在漏洞的PHP程序。这些系统大多没有专门的团队维护,就像一个个埋在互联网地基里的火药桶,哪天被扫到了,数据泄露、被挂黑链都是常事。不过话说回来,这些老系统虽然有风险,但是只要定期打补丁、做安全扫描,其实也没那么容易被攻破。

然后是人才断层。现在的计算机专业的学生,上课学的是Java、Python、前端框架,根本没人专门学PHP。导致现在市场上能写新PHP项目的年轻开发者不少,但是能维护十几年前的老PHP系统的资深工程师,薪资已经快赶上全栈开发的水平了。我去年帮一个客户升级老的Discuz系统,光处理历史数据的GBK转UTF-8的编码问题,就花了3周,中间还不小心在测试环境丢了一次用户数据,当时整个人都麻了。对吧,总不能让现在的学生为了维护十几年前的老系统,特意去学一门快要被新场景淘汰的语言。

还有生态的割裂。老的ThinkPHP3.2的代码,和新的Laravel的代码,从目录结构到语法规范完全不兼容,很多老系统想升级,几乎等于全部重写,成本高到根本没人愿意动。

未来三到五年的生存判断

第一,PHP绝对不会死,但是也绝对回不到2010年那种占互联网半壁江山的地位了。它会慢慢变成一种和COBOL类似的存量场景专用语言——没人会主动用它去写新的大型互联网项目,但是你根本绕不开它,因为太多跑了十几年的业务系统,都是PHP写的。

第二,云原生赛道会进一步把PHP边缘化。现在很多云厂商的Serverless runtime,已经慢慢停掉了对老版本PHP的支持,毕竟和Go、Node.js、Python比,PHP的生态在云原生场景的适配性太差了。就算现在有Swoole、RoadRunner这些协程方案能让PHP跑成长驻服务,也很难成为主流——毕竟这等于把PHP最核心的优势:简单、快速部署、低运维成本,给丢了。

第三,Laravel会吃掉剩下的所有PHP新生态份额。以后新写的PHP项目,90%以上都会选Laravel,那些老的国产框架,比如ThinkPHP的新版本,慢慢会只在存量老项目里出现,不会再有新用户选了。

前几天刷到一个刚入行的开发者的帖子,说自己学PHP找不到工作,劝大家不要学。其实没必要这么极端。你要是想进大厂做大规模的分布式系统,PHP确实不是好选择;但是你要是想给中小客户做定制化网站、SaaS应用,或者维护现有存量系统,PHP的价值从来都没消失过。

作者|大讲堂

排版|大讲堂

审核|见微

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:PHP的下半场:从建站神器到存量场景的生存博弈
文章链接:https://www.lfdjt.com/info_23_28310.html