导读:2023年,我们一直希望PHP能够消亡,事实上进展怎么样了?
在过去的几年里,Web 开发技术发生了重大转变,很多东西都转移到了客户端或前端,Vue、React 或 Svelte 等前端框架当前都在大肆宣传,Node.js 和 Python 获得了很多跨后端的开发人员。
PHP 是当今使用最广泛的服务器端语言,也是令开发者讨厌的语言,有时甚至是发自内心的讨厌。据多年的媒体报道,它应该死亡至少十年了。
然而,它仍然作为互联网的主干,为至少百分之七十的网站提供后端支持。
PHP生态体系很大。很长时间人们宣称它几乎肯定“死亡”,但是牛吼完之后还是要回家的,在 PHP 上运行的互联网不会发生任何质疑的变化。数据和证据是压倒性的。
接下来,我们来看一个松散的数据集合。
统计数据
来自W3 Techs对全球前 1000 万个网站的后端编程语言分析:
PHP 为 77.2%
ASP.NET 为 6.9%
Ruby为 5.4%
PHP CMS内容管理系统
大多数公共网站通过 CMS 运行在 PHP 之上。按市场份额计算,12 个最大的 CMS 软件中有 8 个是用 PHP 开发的。以下来自W3 Techs 的 CMS 使用情况,其中每个百分比代表前 1000 万个网站中的 100,000 个。BuiltWith也有一份类似的CMS 报告,该报告分析了 7800 多万个网站。
[ PHP ] WordPress 生态系统 (63%)
[Ruby] Shopify
Wix
Squarespace
[ PHP ] Joomla 生态系统 (3%)
[ PHP ] Drupal 生态系统 (2%)
[ PHP ] Adobe Magento (2%)
[ PHP ] PrestaShop (1%)
[Python] Google Blog
[ PHP ] Bitrix (1%)
[ PHP ] OpenCart (1%)
[ PHP ] TYPO3 (1%)
PHP 电商系统
截至2023 年 8 月, BuiltWith 关于在线商店的报告:
WooCommerce for WordPress(全球市场份额的 24%)
Adobe Magento(全球市场份额 7%)
OpenCart(全球市场份额2%,俄罗斯市场份额24% )
PrestaShop(全球市场份额2%,法国市场份额14% )
Shopware(全球市场份额 1%,德国市场份额12% )
Kinsta 发表了一篇文章,试图证明 PHP 快速、灵活且流行:
嗯,首先,重要的是要指出“想要”和“存在”之间存在很大的区别。早在 2011 年,人们就一直在呼吁 PHP 消亡 。
PHP 7.3 每秒的请求数是 PHP 5.6 的 2-3 倍。而现在的PHP 8.1 速度更快。
由于 PHP 的流行,很容易找到 PHP 开发人员。不仅仅是 PHP 初级人员,还有经验丰富的 PHP 开发人员。
来自 Vimeo Engineering 的 Matt Brown 在《这不是遗留代码 — 它是 PHP》中:
PHP 并没有停止创新。新一波后端工程师计划如何将 500,000 行 PHP 分割成一堆微服务,但没有实施。
自 2004 年以来的十年里,Vimeo 增长了很多倍,我们的 PHP 代码库也随之增长。
Ars Technica 告诉开发者们:PHP 保持着较大的领先优势。Ars 发布了 W3 Techs 报告的一个版本,其中包含历史数据。
尽管有许多臭名昭著的怪癖,在这个服务器端语言似乎仍然存在。
在该数据集合中体现很清楚。PHP 在 2010 年占有 72.5% 的份额,目前占有 78.9% 的份额。PHP 似乎没有任何明显的竞争者。
Lex Fridman 在他的播客上接受 Python 创始人 Guido van Rossum 采访时说道:
Lex:“PHP 可能仍然运行着互联网的大部分后端。”
Guido:“哦,是的,是的…”
Daniel Stenberg 的年度Curl 用户调查中询问人们在哪里使用Curl。除了curl自己的接口(78.4%)之外,最熟悉的curl绑定的是PHP。自 2015 年调查开始以来一直如此。到 2023 年,19.6% 的curl 受访者表示通过 PHP 调用curl。
curl (CLI) 78.4%、php-curl 19.6%、pycurl 13%、[…]、node-libcurl 4.1%。
众所周知,Ember.js 起源于 Ruby 社区。但是,作为前端框架,Ember 可以与任何后端配对。Ember社区调查报告显示,PHP 在调查参与者中排名第三,仅次于 Ruby 和 Java。
Ember 调查还询问了通用行业问题。例如,24% 的人将其雇主的基础设施描述为“自托管”,而不是由云提供商托管。这本身并不是一项具有代表性的调查,但仍可能令人惊讶。
特别是对于那些依靠社交媒体和会议演讲来了解企业在现实世界中所做的事情的个人来说。对于公司来说,准备好云退出策略比以往任何时候都更加重要(例如 NHS)。你可以搜索了解Basecamp 的云退出如何为他们每年节省数百万美元。
PHP的大规模部署
上面引用的统计数据衡量了不同网站和公司的数量。其中绝大多数都是基于 PHP 构建的。但是,只能说明他们的规模在前 1000 万之内。这让你担心吗?
来自 Fanthom Analytics 的 Jack Ellis 在《Laravel 能扩展吗?》中 证明开发者不应该根据每秒处理数百万个请求来做出选择。你不太可能达到这个目标,并且会面临许多其他瓶颈。但事实证明,PHP 是能够扩展到这一级别的语言之一。
当我们开始看到我们的软件 Fathom Analytics(基于 Laravel 构建)取得令人难以置信的增长时,...从未有过“框架每秒处理足够的请求吗?”的时刻。[…]
我曾与使用 Laravel 为整个业务提供动力的企业公司合作,Twitch、迪士尼、纽约时报、WWE 和华纳兄弟等公司正在使用 Laravel 来运行他们的各种项目。
Laravel 可以大规模处理您的应用程序。
来自 Vimeo Engineering 的 Matt Brown 在《这不是遗留代码》中的一段放:
我在这里告诉您它可以,Vimeo 在 PHP 方面的持续成功,证明它对于2020 年以来快速发展的公司来说,它是一个很棒的工具。
Vimeo 还被称为Psalm的开发者,Psalm 是一种流行的 PHP 开源静态分析工具。
来自 Slack Engineering 首席架构师 Keith Adams 的《认真对待 PHP》:
Slack 将 PHP 用于其大部分服务器端应用程序逻辑 。
PHP 环境的优点(通过故障隔离降低错误成本;安全并发;以及高开发人员吞吐量比问题更有价值[...
再看一下W3 Techs的报告,这次重点关注一些单一业务的规模。在头部,我们有 WordPress,它为 Automattic 的 WordPress.com 提供支持。每月页面浏览量为 200 亿次(Alexa 在全球排名第 55)。
如果进一步查看报告,找到市场份额为 0.1% 的条目,我们会发现为大型网站提供支持的 PHP 系统,这些也是超过 100,000 个小型网站的首选平台。
#23 CMS:Moodle
#25 CMS:phpBB
例如 Google 的Waze 社区、ApacheFriends 论坛、VideoLAN 论坛。
#31 CMS:XenForo 论坛。
例如ArsTechnica.com、MacRumors.com。
#33 CMS:Roundcube
#45 CMS:MediaWiki
#49 CMS:vBulletin
#53 CMS:IPS Community
例如MalwareBytes.com、BleepingComputer和 Squarespace.com 论坛。
MediaWiki是Wikipedia.org 背后的平台,每月页面浏览量为250 亿次(Alexa 第12名)。MediaWiki 还为Fandom提供每月20 亿页面浏览量(Similarweb 第44名),以及WikiHow每月 1 亿访问者(Alexa 第215名)。
由 PHP 提供支持的其他主要互联网资产包括 Facebook (Alexa 第7名)、Etsy (Alexa 第66名)、Vimeo (Alexa 第165名) 和 Slack (Similarweb 第362名)。
Etsy 之所以有趣,是因为它的活跃会话和动态内容比例很高。这与维基百科或 WordPress 不同,后者可以通过静态缓存提供大多数页面视图。这意味着尽管规模相似,Etsy 的 PHP 应用程序更容易受到高流量的影响。
PHP 创建者Rasmus Lerdorf目前就职于 Etsy。他有时会在技术演讲中引用 Etsy 代码库中的片段。(注:他的2021 年现代 PHP 演讲解释了 Etsy 如何部署rsync,就像维基百科在过去十年中使用Scap所做的那样)。Etsy 的工程博客偶尔会介绍其模块化 PHP 整体架构的工作,例如Plural 本地化或详细的Etsy 网站性能报告:
令人高兴的是,由于我们升级到了 PHP7,本季度我们看到了站点范围内的性能改进。
我们在所有页面上都看到了显着的性能提升。
我的泡泡呢?
人们可能会批评 PHP 社区在公共讨论区中没有占据太多空间。无论是 PHP 核心开发人员,还是 PHP 框架(如 Laravel、Symfony、WordPress、Composer 和 PHPUnit)的作者,还是在日常工作中使用 PHP 的普通工程师……我们在社交媒体上都看不到太多讨论。
或许你也不会看到许多PHP会议,为您的公司“肯定更好”的堆栈制定公式。如果某些 JavaScript 框架的粉丝的谈话可以作为参考的话,我们应该相信现在大多数公司都在使用他们的技术堆栈。
人们现在会质疑过去的十年的优点并批评 React,但是……React 占据了3% 的市场份额,加上较小的前端框架(Vue、Angular、Svelte),总和达到 5%。同样,Node.js 作为 Web 服务器占有3% 的市场份额。这是否意味着超过 90% 的人错过了这一能够促进业务发展的技巧?
别忘了,这 5% 代表 500,000 个主要网站,数字也是巨大的。Node.js 有其地位和优势(实时字符流)。但是,Node.js 也有其弱点(阻塞主线程)。请记住,市场份额并不能说明规模。它可以为排名前 1% 或排名后 1% 的多个组织提供支持。或者,使用 WordPress 为排名前 1% 的网站和超过 4000万个其他网站提供支持。
结语
无论新老公司,小公司还是大公司,可能不一定使用我们在公共场所听到最多的技术堆栈。在个人项目和烧钱初创公司的泡沫时尤其如此。
对于当今不断发展和持续发展的企业来说, PHP 是最经济的选择吗?是不是进前三了?当扩大业务和周围的人员团队时,语言运行时真的很重要吗?我们不知道。
我们所知道的是,当今许多企业都建立在 PHP 之上,并且 PHP 已被证明是一种可持续的选择。它经受住了时间的考验。其中包括像 Fathom 这样的新公司,它们在短短三年内就实现了盈利。正如《Fathom》文章所说,我们大多数人永远无法达到那个规模。但是,令人欣慰的是,即使在规模上,PHP 也是一种可持续且经济的选择。这是唯一的选择吗?不,当然不是。
有些语言速度更快(Rust),拥有更大的社区(Node.js),或者拥有更成熟的编译器(Java);但这往往会交换其他价值。
PHP 达到了当前的最佳状态。它速度相当快,拥有一个大型生产力社区,具有现代语法,积极开发,易于学习,易于扩展,并且拥有一个大型标准库。它提供了大规模的高安全并发性,通过第三方库也支持异步复杂性或阻塞主线程。由于稳定的平台以及重视兼容性和低依赖性的社区,它的维护成本也较低。还有哪些特点?欢迎在评论区告诉我。
作者:蒂莫·蒂霍夫
编译:场长
来源:
https://timotijhof.net/posts/2023/an-internet-of-php/
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。