如何在单个服务器上的多个网站上逐步升级PHP?


0

我在一台Linux服务器上托管了一组基于PHP的网站,我需要升级PHP。但是,由于一些网站是QA /阶段,其他网站是生产,我需要逐步完成。

也就是说,我希望质量保证站点能够先行,这样我就可以检查升级PHP是否会破坏任何内容,然后再进行生产。最好的方法是什么?

这些站点都通过Apache提供,并拥有自己的vhost文件。

我想我可以(以某种方式)在特定点安装新版本的PHP并通过配置(Apache?vhost?),指定一个站点使用这个版本的PHP(而不是 /usr/bin/php )。

有问题的PHP版本相当陈旧:此时我正在从PHP 5.3升级到5.4。虽然(显然)我很快就需要达到5.6。所以我正在经历一个可以重复使用的过程。


这将是相当困难的 - 并且可能会导致更多问题,如果它甚至可行,它将解决。一个更好的解决方案可能是将QA站点移动到运行较新版本PHP的VM中,然后查看它是如何工作的。另一种方法是在不同的端口上运行2个版本的Web服务器(或IP地址,确保服务器只绑定到适当的端口),但这将是复杂的,容易破坏。
davidgo

Answers:


1

我在一台Linux服务器上托管了一组基于PHP的网站   我需要升级PHP。但是,由于一些网站是质量保证/   升级和其他是生产,我需要逐步这样做。   也就是说,我希望QA网站能够先行,所以我可以检查一下   在推出之前升级PHP不会破坏任何东西   生产。最好的方法是什么?

如果您将QA / staging和production服务器混合到一个服务器这个学位,那么你做错了。您 惯于 能够为每个虚拟主机启动不同版本的PHP;它只是每个服务器每个Apache安装的一个PHP版本。

也就是说,我这样设置的方法 - 因为我喜欢自己使用Ubuntu 12.04(LTS) - 将使用VirtualBox或类似软件创建桌面虚拟机环境。确保虚拟化设置尽可能与当前的生产服务器设置相匹配,并使其正常运行。然后,一旦在桌面上正确运行了“沙箱”,然后尝试升级PHP。

如果您只是随着时间的推移构建服务器,这似乎令人生畏,但老实说,只要代码库,数据存储和配置设置正确,为LAMP堆栈开发的软件就可以在任何地方工作。我在Mac OS X上进行本地PHP开发(例如)并定期部署到Ubuntu服务器,没有太多担心或想到这个问题。

但是你说这个:

有问题的PHP版本相当陈旧:我正在从PHP升级   此时5.3至5.4。虽然(显然)我很快就需要达到5.6。所以我正在经历一个可以重复使用的过程。

我认为你可能过分关注非问题,除非你100%肯定你的网站编码实际上会从PHP中获益 版本升级。

我有几十个专门为LAMP需求而部署的Ubuntu 12.04服务器,因为它在技术上“老旧”,但没有人会出汗PHP 5.3,但PHP 5.3被认为是更稳定的PHP版本之一。此外,Ubuntu 12.04是一个 LTS(长期服务)发布 那是 支持到2017年4月 ; 2年后。

这意味着技术上,虽然Ubuntu 12.04中的软件版本号在表面上似乎是“过时的”安全补丁,LTS指定意味着关键的安全补丁等将是 回迁 到PHP 5.3和类似的包。

这种长期支持是系统管理员选择LTS安装的确切原因:在真正需要升级之前无需担心升级。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.