![Centos 6.5——php 5.3.3 中包含的反向移植升级/php.ini 指令](https://linux22.com/image/639873/Centos%206.5%E2%80%94%E2%80%94php%205.3.3%20%E4%B8%AD%E5%8C%85%E5%90%AB%E7%9A%84%E5%8F%8D%E5%90%91%E7%A7%BB%E6%A4%8D%E5%8D%87%E7%BA%A7%2Fphp.ini%20%E6%8C%87%E4%BB%A4.png)
PHP 5.3.3 是官方 CentOS 6.5 存储库中提供的最新版本的 PHP。大多数人都知道,称其为“5.3.3”版本有点误导,因为关键的错误修复实际上已移植回版本 5.3.3,因此实际上“5.3.3 版本”确实会不时升级。我的问题是:除了手动切换 php.ini 中的指令外,如何判断哪些在 PHP 更高版本中实现并得到官方支持的新指令也可在 CentOS 6.5 的反向移植 PHP 5.3.3 中使用?
例如,max_input_vars
(http://php.net/manual/en/info.configuration.php#ini.max-input-vars) 自 PHP 5.3.9 起可用。有没有简单的方法可以判断 CentOS 是否在向 5.3.3 的反向移植升级中包含了此功能?
谢谢!
答案1
简短的回答是:通过反向移植你不会获得任何新功能。
Red Hat(CentOS 的衍生版本)有相当不错的文章关于他们如何处理安全更新以及反向移植的概念是什么。
亮点如下:
当我们(Red Hat)反向移植安全修复程序时,我们:
• 识别修复程序并将其与任何其他更改隔离开来,
• 确保修复程序不会引入不必要的副作用,以及
• 将修复程序应用于我们以前发布的版本。
第一个要点与您的问题直接相关。在您的示例中,当 PHP 项目发布新的次要版本时,您可以检查更改日志并且会看到每个小版本都是错误修复、安全更新和新功能的组合。
Red Hat 将识别以下代码更改:相关的错误和安全修复,并仅将这些修复应用于随主要版本一起发布的版本的代码库。新功能不包括在它们应用的补丁中。因此,您最终仍会获得版本 5.3.3 和原始 5.3.3 版本中包含的所有(不多也不少)功能,但错误更少。
目标是为第三方开发人员和(企业)客户提供长期(ABI/API)稳定性。每次开源项目发布更新时,您不必测试并更新您的自定义应用程序。您的平台保持安全,而库和 API 等保持不变(或更稳定)。
在某些情况下,Red Hat 会在主要版本的生命周期内发布软件包的替代较新版本,软件集合渠道。您无法通过简单地升级和应用补丁来获得这些版本,您必须明确启用这些存储库,然后手动安装较新的版本(例如,在 CentOS 中使用 和 安装 PHP 5.4 而不是 5.3.3 yum install centos-release-SCL
)yum install php54
。