PHP的互联网(原文An Internet of PHP)

字号+ 编辑: 国内TP粉 修订: 种花家 来源: Timo Tijhof 2023-09-11 我要说两句(0)

Timo Tijhof的一篇关于php是否过时了的文章。8分钟看完。

PHP很重要。尽管无论有多少人嘲笑它即将“死亡”,但它并不改变互联网的运行依赖于PHP这个事实。证据是压倒性的。以下是对这一证据的松散整理。

统计信息

2023_php_langs.png

首选编程语言的PHP

根据W3 Techs对全球排名前1000万的网站的语言分析

PHP 占77.2%。
ASP 占6.9%。
Ruby 占5.4%。

基于PHP的内容管理

大部分公共网站通过CMS(内容管理系统)基于PHP构建。根据市场份额,12个最大的CMS软件中有8个是用PHP编写的。以下数据来自W3 Techs对CMS使用情况的统计,其中每个百分比代表着100,000个前1000万网站中的网站。BuiltWith也有一份类似的CMS报告,分析了7800万个网站的更大数据集。

  1. [PHP] WordPress生态系统(63%)

  2. [Ruby] Shopify

  3. Wix(一款国外的商业版可视化建站工具)

  4. Squarespace

  5. [PHP] Joomla生态系统(3%)

  6. [PHP] Drupal生态系统(2%)

  7. [PHP] Adobe Magento(2%)

  8. [PHP] PrestaShop(1%)

  9. [Python] Google Blogger

  10. [PHP] Bitrix(1%)

  11. [PHP] OpenCart(1%)

  12. [PHP] TYPO3(1%)

基于PHP的电子商务

  • 根据BuiltWith截至2023年8月的在线商店报告

  • WordPress的WooCommerce(全球市场份额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没有停止创新[...]。一群后端工程师计划如何将50万行PHP代码拆分为一堆[服务]。[...]最终,没有一个提案得到采纳。

自2004年以来,Vimeo已经成长了许多倍,我们的PHP代码库也因此而增长。

Ars Technica告诉我们:PHP保持着巨大的领先地位。Ars发布了一份包含历史数据的W3 Techs报告版本。

尽管有许多臭名昭著的怪癖,这种服务器端语言似乎会一直存在下去。[...]在这个数据集中,故事很清晰。PHP在2010年占有72.5%的份额,而现在占有78.9%的份额。[...]目前似乎没有任何明显的竞争者能够对PHP构成威胁。

2023_php_arstechnica_w3techs.png 

Lex Fridman在他的播客节目中对Python创始人Guido van Rossum进行采访时,他这样表达:

Lex:“PHP可能仍然在运行互联网的大部分后端。”

Guido:“哦,是的,是的。[...]”

Daniel Stenberg的年度Curl用户调查(第18页)询问人们在哪里使用curl。在curl自己的接口之后(78.4%),最常见的curl绑定是PHP。自2015年开始调查以来,PHP一直是最为熟悉的绑定。在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。

2023_php_ember_survey.png

Ember调查还询问了一些行业常见问题。例如,24%的人将他们的雇主基础设施描述为“自托管”,而不是使用主要的云服务提供商。这并不是一个代表性的调查,但可能仍然令人惊讶。特别是对于那些依靠社交媒体和会议演讲来了解实际业务情况的人来说。对于公司来说,拥有一项云退出策略比以往任何时候都更为重要(如英国国家医疗服务体系的例子)。您可以阅读Basecamp的云退出如何每年为他们节省数百万美元的案例。

php7.x版本的JIT和其他编译器速度对比:

Mandelbrot.png

PHP的规模

上述统计数据衡量的是不同网站和公司的数量。其中绝大多数都是基于PHP构建的。但是,这只是说明它们在前1000万中的位置,对于前500名来说又如何呢?

Fanthom Analytics的Jack Ellis在《Laravel是否可扩展?》一文中提出,你不应该基于每秒处理数百万个请求来做出选择。你很可能不会达到那个水平,并且会面临许多其他瓶颈。但事实证明,PHP是可以扩展到那个水平的语言之一。

当我们看到Fathom Analytics(建立在Laravel上)的软件出现了惊人的增长时,[...]从未有过“框架每秒处理足够的请求吗?”的疑问。

我曾与使用Laravel来支持他们整个业务的企业合作过,而像Twitch、Disney、纽约时报、WWE和华纳兄弟这样的公司也在各自的项目中使用Laravel。Laravel可以处理您的大规模应用。

来自Vimeo工程部的Matt Brown再次登场,关于“它并非遗留代码”:

我在这里告诉你,Vimeo的持续成功证明了PHP是2020年快速发展的公司的强大工具。

Vimeo也以开发Psalm而闻名,这是一款流行的用于PHP的开源静态分析工具。

来自Slack工程部首席架构师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社区,例如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因其活跃会话和动态内容的高比例而引人注目。这与Wikipedia或WordPress不同,后者可以通过静态缓存来提供大部分页面访问。这意味着尽管规模相似,Etsy的PHP应用程序更容易受到高流量的影响。

PHP的创始人Rasmus Lerdorf也在Etsy工作。他有时在他的技术演讲中展示Etsy代码库中的片段。(极客注:他在2021年的《现代PHP》演讲中解释了Etsy如何使用rsync部署,就像Wikipedia在过去十年中使用Scap一样)。Etsy的工程博客偶尔会介绍他们在模块化PHP单体应用程序上的工作,例如复数本地化,或者他们详细的Etsy网站性能报告:

令人高兴的是,在本季度我们看到了整个网站性能的改进,这要归功于我们升级到PHP7的工作。

[…] 我们在所有页面上都看到了显著的性能提升。

是否存在泡沫?

人们可以批评PHP社区在公众讨论中占据的空间不多。无论是PHP核心开发者,还是PHP包的作者(如Laravel、Symfony、WordPress、Composer和PHPUnit),或者是在日常工作中使用PHP的普通工程师...我们在社交媒体上很少见到相关争论。

你也不会看到我们举办很多会议讲座,为你的公司提供“绝对更好”的技术栈公式。如果你参考某些JavaScript框架的粉丝们的演讲,我们应该相信大多数公司今天都在使用他们的技术栈,如果你还没有使用,你应该感到抱歉。我并不是说这样来评判JavaScript。让我困扰的是没有考虑技术或业务需求的指导性信息,没有评估“更好”意味着什么——与什么进行比较更好?很难比较你所了解的那一件事。

上述并不是说JavaScript没有它的位置。分享你的经验!分享你的成果(以及背后的基准测试),分享成功的经验,以及失败的经验。继续搜索,继续创新,继续分享,最重要的是:推动人类进步。这就是自由软件!

人们可以对过去十年的成就和对React的批评提出质疑,但是...React占据了3%的市场份额。再加上更小的框架(Vue、Angular、Svelte),我们总共达到了5%。同样,作为Web服务器的Node.js占据了3%的市场份额。这是否意味着超过90%的人错过了这个能提升你业务的绝妙技巧?

不要忘记,这5%代表着50万个主要网站。这是巨大的。Node.js有其位置和优势(实时消息流)。但是,Node.js也有其弱点(阻塞主线程)。还要记住,市场份额并不能说明规模的大小。它可以为排名前1%的几个组织提供支持(如MediaWiki),也可以为排名最后1%的组织提供支持。或者,它可以是WordPress,为排名前1%的网站和其他超过4000万个网站提供支持。

结论

无论是年轻的公司还是老牌公司,无论是小型公司还是大型公司,可能不会在公共空间中利用我们听到的大多数软件技术栈。这在个人项目和资金耗尽的初创公司的泡泡之外尤其如此。

对于不断发展和持续经营的企业来说,PHP是否是最经济的选择?它是否在前三名之列?当扩大业务规模和团队规模时,语言运行时是否真的重要?我们不知道。

我们知道的是,今天有很多企业都在使用PHP构建,而且PHP已被证明是一种可持续的选择。它经受住了时间的考验。这包括像Fathom这样的新公司,它在短短三年内就实现了盈利。正如Fathom的文章所说,我们大多数人永远无法达到那样的规模。但是,知道PHP即使在大规模情况下仍然是一种可持续和经济的选择是令人安心的。它是唯一的选择吗?当然不是。

还有其他语言速度更快(Rust)、有更大社区(Node.js)或具有成熟编译器(Java)的语言;但这往往会牺牲其他价值。

PHP达到了某种“金发女孩”舒适点。它速度相当快,拥有庞大的社区以提高生产力,具备现代语法,正在积极开发,易于学习,易于扩展,并且拥有丰富的标准库。它在大规模情况下提供高度安全的并发性,而又不涉及异步复杂性或阻塞主线程。由于稳定的平台和注重兼容性和低依赖性的社区,它的维护成本也较低。当然,你在不同的时候可能有不同的需求,但对于这个特定的舒适点来说,PHP在非常少数的语言中脱颖而出。其他语言有哪些呢?你告诉我!

更多阅读

  • 选择无聊的技术,《Dan McKinley》,2015年。

  • 扩展的简单乐趣,《Jordan Tigani》,2023年。

  • 如何保护自己免受npm的影响,《Timo Tijhof》,2019年。

  • 我们被软件依赖关系淹没,《Ryan Barrett》,2022年。

  • “走出软件危机”:依赖关系,《Baldur Bjarnason》。

  • 充分利用你已有的系统,《Dan Slimmon》,2023年。

  • 关于语言选择和维护负担在维基媒体,《Tim Starling》,2018年。

更新(2023年9月6日):关于HHVM,在不使用Hacklang的情况下,维基百科和Etsy确实都尝试过将其作为与PHP5兼容的替代运行时。在PHP 7的性能改进之后,维基百科撤销了它的部署,并升级到了PHP 7.2。Etsy也放弃了这个实验和部分使用,并采用了PHP 7,后来表示:“hhvm促使了性能改进,这些改进已被纳入PHP7。我们现在完全切换到了PHP7。”


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • 古尔曼:苹果公司正将更多注意力转向6G研发

  • 大裁员, 巨亏, 知乎“值乎”?

  • 小谈互联网变现挣钱的14个模式

  • a站b站是什么意思

我要说说
网上宾友点评