网站首页 > 技术教程 正文
FrankenPHP 是一个用 Go 编写并基于 Caddy Web服务器构建的 PHP 应用服务器。
Caddy 创建者 Matt Holt 表示,它可使 PHP 应用程序的性能提高一倍,并将开发人员和 DevOps 的工作量减少一半;而 Caddy 刚刚更新到 2.8 版本,现在后端已经实验性地支持 HTTP/3。
FrankenPHP 的作者是 Kevin Dunglas,他是 PHP 和 Go 的核心贡献者,也是流行的 PHP 网络框架 Symfony 的核心维护者。
Dunglas 结合自己在不同领域的知识,创建了 FrankenPHP,该版本于 2022 年 11 月在 SymfonyCon 上进行了预览,并于 2023 年 12 月发布了 1.0 版本。
FrankenPHP 专为容器部署而设计,包含 Caddy,后者也是用 Go 编写的,因此单个服务即可为 PHP 应用程序提供支持。FrankenPHP 在 MIT 许可下开源,代码位于 GitHub 上。
https://github.com/dunglas/frankenphp
这样将 PHP 运行时和 Web 服务器打包在一起可以大大提高性能。
Dunglas 提供的一项基准测试显示,Hello World Symfony 应用程序的 Web 请求平均需要 2.53 毫秒才能完成,而通常用于优化传统 Web 服务器性能的 PHP-FPM(FastCGI 进程管理器)则需要 9.45 毫秒。
FrankenPHP 在 Docker 容器中运行 API 平台
FrankenPHP 的其他功能包括自动生成 HTTPS 证书(得益于 Caddy 对 Let's Encrypt 或 ZeroSSL 的支持)、对 PHP 扩展(包括 OPCache 和 XDebug)的原生支持以及将应用程序保存在内存中的工作模式,以实现更快的响应。还支持结构化日志记录、Prometheus 指标和跟踪以及优雅重新加载(动态更新应用程序)。
预构建的容器适用于常用的 PHP 应用程序,包括 WordPress、Symfony、Drupal、Joomla、Laravel 和 API 平台,最后一个也是由 Dunglas 创建的。
Holt 是一名爱好者,他在在 Hacker News 上说道:“这有可能改变万维网(我非常谨慎地使用这个词,因为 PHP 为全球绝大多数互联网提供支持……网站性能几乎翻倍,而开发人员/devops 人员的工作量却减少一半,这并不罕见”。
不幸的是事情没那么简单。PHP 被广泛使用的原因很大一部分是因为 WordPress,而 Dunglas表示“与 Laravel 和 Symfony 不同,WordPress 不支持 FrankenPHP 的工作模式(目前还不支持),因此在性能方面没有太多好处(除了使用 103 Early Hints 预加载资产的能力,这可以将页面加载的延迟降低 30%)。”
在 Caddy 方面,据该团队称, 2.8 版是“迄今为止最大的 Caddy 更新之一”,其中包含数百项改进。其中包括对代理后端的快速 HTTP/3 协议的实验性支持、更新的自动证书更新(包括 ARI(ACME 更新信息)支持)以及性能改进(包括现在默认压缩更多媒体类型)。
Caddy 受到一部分用户的高度评价。其中一位用户表示:“它是一款出色的反向代理,并且凭借自动证书和 HTTP/3 支持开创了先河。”
猜你喜欢
- 2024-12-02 2024靠谱网站建设公司top10:最具性价比的十家网站制作服务商
- 2024-12-02 近日重点网络安全漏洞情况摘报
- 2024-12-02 买个火车票 千款手机木马来“争宠”
- 2024-12-02 2019年九月份恶意软件之“十恶不赦”排行榜
- 2024-12-02 推荐 7 款好用的内容管理系统(CMS)
- 2024-12-02 免费:微软向学生开放Azure for DreamSpark
- 2024-12-02 建设手机网站都需要注意哪些事项?
- 2024-12-02 适用于 Linux 的最佳命令行下载加速器
- 2024-12-02 除了WordPress,其它建站平台怎么样?
- 2024-12-02 免费的2D/3D文件查看网站推荐,手机电脑都能用
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)