如何处理PHP和框架的补丁/更新

时间:2011-05-16 16:57:24

标签: php security zend-framework patch

我们公司当下的大讨论。如何处理PHP的更新并使用PHP(Zend Framework)/ JavaScript框架,如JQuery和Dojo。

你修补每个php版本吗?您是否将每个Framework更新部署到生产服务器?我认为测试所有依赖项需要花费大量时间吗?或者是火&忘记最佳实践?

很想听听你在这个领域的到期!感谢。

1 个答案:

答案 0 :(得分:1)

首先,最好有一台带有多台服务器的负载均衡器来处理请求。这样,如果在一个部署问题上发生,您可以将其从平衡器上取下并让其他人处理它。

关于我是否会更新所述框架或PHP,问题归结为:

  1. 是否会破坏兼容性? - 这是最重要的因素。即使是关键的安全更新,您也必须将代码放在登台服务器上并解决所有问题。
  2. 是修复错误吗?错误修复是否会影响我正在使用的东西? - 如果我不使用SOAP并且修复了SOAP代码,我会通过。现在如果有一个如何处理数组的错误,我肯定会升级。
  3. 这是一个安全修复程序吗?它会影响我正在使用的东西吗? - 这里有相同的政策,但我会更快地了解升级。
  4. 现在就如何处理它,我建议如下:

    1. 从负载均衡器中取出一个节点,如果出现问题,请确保上一个源的副本可用。
    2. 更新您需要的内容,然后将其恢复到负载均衡器,但将其限制为只有您能看到的IP地址。
    3. 检查一切看起来是否合法。如果出现问题,请将其恢复原状,看看是否可以解决问题,或者是否需要放回以前的来源。
    4. 如果这是一个可以解决的问题,请解决它,然后返回步骤2.
    5. 接下来,从负载均衡器中关闭另一台服务器并执行相同操作。
    6. 执行此操作,直到您在旧版本节点与新版本节点之间进行了很好的50/50分割。
    7. 现在,强制所有用户请求转到新版本noes,以确保面向公众的网站没问题。如果出现故障,请强制旧版本节点重新联机。
    8. 如果一切正常,请升级旧版本的节点,并在完成后将它们带回平衡器。
    9. 您需要多少个节点取决于您网站的规模。请注意,这是一种更为偏执的更新方法。