从 Joomla! 3.3 开始,所需的 PHP 版本最低提升至 PHP 5.3.10!
我说了!没有枪击事件?太好了,以下是详情……
本文将涵盖
- 为何现在更改?
- 为什么在 3.x 版本开始时没有设置更高的要求?
- 扩展会如何受影响?
- 我会得到任何警告吗?我需要寻找什么?
- tl;dr … 如果我的主机不支持 Joomla! 3.3,会发生什么?
让我们从“为何现在更改?”开始
Joomla! 3.x 系列应在一年内达到长期稳定(LTS)版本,之后至少还会支持两年。在 PHP 5.3.x 系列中,有一个重要的更改一直持续到 PHP 版本 5.3.10,它显著提高了可用于保护密码的加密级别。鉴于 Joomla! 1.5 和 2.5 网站可能仍在使用,可以轻松预测 Joomla! 3.x 网站将在三年后的系列达到生命终止时仍在运行。没有人希望在运行的 3.x 网站上遭受安全漏洞,我们也不希望因为未能妥善保护而受到负面报道。随着黑客技术的不断进步,如果不利用 PHP 5.3.10 中可用的大量更安全的加密算法,并使其适用于下一个 LTS 版本,那将对 Joomla! 社区是一种极大的不尊重。
我们的生产领导团队(PLT)本可以选择编写条件测试并使用适用于每个服务器上PHP功能的软件。PLT选择不这样做。安全性已经足够复杂,涉及大量复杂的代码,而且为了适应三年前投入服务且自那以来未更新的服务器,增加这种灵活性会对性能造成影响,这是为了少数老旧且未维护的托管公司服务器的便利而让所有人承担的代价。相反,我们将通过在3.3版本中推出更安全的密码加密,使其在最终的Series 3 LTS版本中使用,并为所有基于Series 3的新网站默认启用其使用。
网站安全性是每个人关注的问题,最近Target Stores信用卡数据泄露和Adobe订阅密码泄露的新闻,甚至使得CMS网站的所有者也开始更加关注安全性。Joomla!始终以最高的敬意处理安全性问题。即使在Joomla! 1.5达到生命终止期近一年后的今天,只要应用了最新的生命终止后补丁,Joomla! 1.5.26网站仍然非常安全。上周关于大型托管服务商关闭网站的文章是基于托管公司传播关于Joomla! 1.5网站上发现的漏洞(这些漏洞并未更新到最新版本和补丁)以及运行在PHP 5.2上的任何软件风险的毫无根据的恐慌(Fear, Uncertainty and Doubt,简称FUD)。
这次改变还有其他好处吗?随着Joomla! 3.2包含的功能和即将在Joomla! 3.3中推出的功能,我们正在使用户能够设置最安全的CMS解决方案之一。
我们是否应该在Joomla! 3.x系列开始时设定更高的标准?
也许吧,特别是如果我们能从最近的经验中获得的知识。2012年夏天面临的挑战是预测开发者在2014年秋天,即3.x系列达到LTS时将需要访问的最小PHP功能。这需要一个极其神奇的水晶球!对于Joomla! 1.5和2.5系列,这些系列开始时的预测都非常准确。
我们在去年11月推出Joomla! 3.2的改进安全特性时遇到的一个挑战是,发现许多主要托管服务商的服务器正在运行严重过时的软件。我们还发现,社区中的众多测试者几乎没有足够老旧的服务器来发现最老版本的PHP可能导致的问题。尽管我们希望Joomla!能在尽可能多的主机和服务器上安装,就像放弃对IE6的支持一样,现在是停止将我们的软件安全性限制在托管市场最低标准未维护机器上的时候了。
我很好奇,到底多老才算老?
一些具体信息。最新的PHP版本是5.5.8。PHP 5.2已于2011年1月达到生命终止期,那是三年前,但仍有太多的Joomla! 1.5网站还在使用它!当Joomla! 3系列在2012年发布时,我们将最低版本设置为2009年11月发布的PHP 5.3.1,那是直到2010年3月的当前软件。随着这次改变,我们将最低版本提高到2012年2月发布的PHP 5.3.10,那是直到2012年4月的当前版本。因此,这个问题影响到2012年初投入服务且自那以来未更新的服务器。
扩展会如何受影响?
他们不应该。按照设计,Joomla! 3.x 系列从第一个版本 3.0 到长期稳定版本 3.5 都应该是向后兼容的。这样,一旦扩展开发者更新他们的扩展以正常与 3.x 系列的 API 工作,他们就不会有一个移动的目标。
这个公告不会改变编写良好的扩展的向后兼容性。所有正确使用 3.x 系列API的扩展应该完全不受影响。那些部分替换 Joomla! 的核心账户创建和登录插件的自定义安全性和认证的少数扩展应该由扩展开发者在 J! 3.3 发布前进行测试。
我会得到任何警告吗?我需要寻找什么?
是的,下一个 3.x 系列版本,Joomla! 3.2.2 预计将在下周发布,安装时会测试您服务器的 PHP 版本。如果不是 PHP 5.3.10 或更高版本,安装后消息将报告您的服务器不具备 Joomla! 3.3 准备条件。如果您没有收到消息,那说明一切正常!
如果您现在想检查,请登录到管理员后台,点击 系统 => 系统信息 => PHP 信息,您将看到服务器的 PHP 版本。
如果我的主机不具备 3.3 准备条件,会发生什么?
首先,您的网站不会受到任何损害。从 3.2.2 版本开始,核心更新系统中的新功能将测试您的 PHP 版本,如果您的服务器不具备 Joomla! 3.3 准备条件,这些更新将无法安装服务器不支持的代码。此外,在 Joomla! 3.3 发布后的六个月内,Joomla! 项目将为 3.2 和 3.3(以及 2.5)发布安全更新,以便可以及时通过一键更新修补任何新出现的漏洞,而无需立即更新到 Joomla! 3.3,这将给您时间请求您的托管提供商更新他们的 PHP 版本。然而,重要的是要记住,这只是一个六个月的宽限期,您最终需要更新到 Joomla! 3.2 之后的版本以继续接收安全更新。
您有两个选择。最简单的是请求您的托管公司仅仅将您的网站迁移到他们最近部署的、运行 PHP 5.3.10 或更高版本的其中一个服务器上。如果这不起作用,或者您对他们的维护和服务感到担忧,想要更换,您有足够的时间将您的网站迁移到提供更新服务器软件的许多托管服务之一。您有直到 2014 年 10 月的时间来解决这个问题,以便您可以一键更新到 3.x 系列的长期支持版本。
有问题或评论?加入讨论:https://forum.joomla.org/viewtopic.php?f=704&t=833872
感谢 Duke Speer、市场营销工作组以及 Joomla! 领导团队帮助准备这篇文章。