php - 为什么 Google App Engine Standard 使用 PHP 5.5?
问题描述
我计划在 Google App Engine Standard 中托管 PHP 应用程序,但我发现一件非常令人担忧的事情:
目前可以在 PHP 5.5 运行时和 beta 7.2 运行时之间进行选择。因此,当前可用的非 beta 版本是 5.5,它在 1 1/2 年前就已经停产了!
为什么很久以前没有升级到5.6?为什么没有 7.0 或 7.1 环境(7.0 两年前出现了!)?提供这么老的 PHP 运行时不是完全不负责任吗?我的意思是,即使是最业余的共享托管公司也可能很久以前就升级到了 5.6。我不明白,为什么谷歌——地球上领先的科技公司之一——会这样做。
我知道我可以在灵活的 App 引擎中使用我想要的任何运行时,但是如果“标准 PHP 环境”被 Google 解释为 PHP 5.5,这对任何开发人员来说不是一个巨大的危险信号吗?为什么现在有人如此不负责任地使用 PHP 5.5 或选择一个远远落后的托管服务提供商,它提供 5.5 作为当前最稳定的 PHP 环境?对于任何负责任的开发人员来说,这种极其保守且看似不负责任的升级模式难道不是一个重要的危险信号吗?
或者我在这里完全错过了什么?
解决方案
在第一代标准环境沙箱中,许多服务依赖于特制的库、API 和支持基础设施/服务。
在更改受支持的语言版本时,GAE 团队很可能需要重新编写/移植所有这些内容,并以及时且具有成本效益的方式这样做,同时维护 SLA 并非易事。
您可以在Migrating Services from the Standard Environment to the Flexible Environment指南中查看这些服务的列表——即使不是全部,大多数也不能在第二代标准环境中使用。
通过用其他谷歌(甚至第 3 方)团队提供的或多或少相似的解决方案(或完全放弃它们)替换这些服务,添加对不同语言/版本的支持变得容易得多——这可能解释了这些服务的不断增长速度生活和进化 - 请参阅Google 云平台的注释历史和/或PHP 发行说明。如果您愿意,这就是 Google 一直在积极努力跟上语言发展的证据。
我不确定 PHP 或其他语言,但对于我的应用程序使用环境,我对较旧的 python 2.7 版本非常满意,特别是考虑到第一代标准环境独有的其他优势时。我只是希望随着替代产品的到位,维护它的成本(即使是原样冻结)仍然足够低,不足以证明停产是合理的;)
推荐阅读
- rust - rusqlite 和 pyo3 PyResult 处理错误
- markdown - Sublime Text 3 Pandoc md 到 pdf
- arrays - 关于 Delphi / Generic / array's:为什么这不能编译?
- javascript - 我有一个混合类型的数组对象。我需要根据类型拆分它
- java - 重试失败插入结果的重试策略/框架
- assembly - Assembly-RiscV 中的“不”是什么意思?
- json - 从 URL swiftui 解压缩 JSON 文件
- javascript - Jquery +datatables导致内联样式的CSP错误
- bash - 在 awk 中用它们各自的字符串替换数字
- mysql - MySQL Workbench 保留原始 SQL 格式