I have a set of PHP-based websites hosted on a single Linux server that I need to upgrade PHP for. However, as some of the sites are QA / staging and others are production, I need to do this progressively. That is, I would like the QA sites to go first so I can check that upgrading PHP does not break anything, before rolling out to production. What's the best way to go about this?
Se você tem seus servidores de QA / de preparação e de produção misturados em um servidor, você está errado. Você não poderá lançar uma versão diferente do PHP por host virtual; é simplesmente uma versão do PHP por instalação do Apache por servidor.
Dito isso, minha abordagem a uma configuração como essa - já que gosto de usar o Ubuntu 12.04 (LTS) sozinho - seria criar um ambiente de máquina virtual de desktop usando o VirtualBox ou um software semelhante. Certifique-se de que a configuração virtualizada corresponda à sua configuração atual do servidor de produção o máximo possível e coloque-a em funcionamento. Então, quando você tiver esse "sandbox" funcionando corretamente em seu desktop, tente atualizar o PHP.
Isso pode parecer assustador se você acabou de construir o servidor ao longo do tempo, mas honestamente o software desenvolvido para pilhas LAMP pode funcionar em qualquer lugar desde que a base de código, armazenamento de dados e configuração estejam configurados corretamente. Eu faço desenvolvimento de PHP local no Mac OS X (por exemplo) e implemento regularmente para um servidor Ubuntu sem muita preocupação ou pensamento sobre o assunto.
Mas você diz isso:
The PHP versions in question are fairly old: I’m upgrading from PHP 5.3 to 5.4 at this point. Although (obviously) I need to get to 5.6 pretty soon. So I’m after a process that I can re-use.
Eu acho que você pode estar excessivamente preocupado com um problema que não seja, a menos que você tenha 100% de certeza de que a codificação dos sites que você tem realmente se beneficiaria de um PHP atualização de versão.
Eu tenho dezenas de servidores Ubuntu 12.04 implementados especificamente para as necessidades do LAMP como o seu e ninguém está suando o problema do PHP 5.3 já que é tecnicamente “antigo” mas o PHP 5.3 é considerado uma das versões mais estáveis do PHP. Além disso, o Ubuntu 12.04 é um lançamento do LTS (Long Term Service) que é suportados até abril de 2017 ; 2 anos de distância.
O que significa tecnicamente enquanto os números de versão do software no Ubuntu 12.04 parecerão superficialmente “desatualizados” no que diz respeito a patches de segurança, a designação LTS significa que patches de segurança críticos e tais serão backported para o PHP 5.3 e pacotes semelhantes.
Esse tipo de suporte a longo prazo é o motivo exato pelo qual os administradores de sistemas escolhem as instalações do LTS: não é necessário se preocupar com atualizações até que sejam realmente necessárias.