Como atualizar a versão do PHP sem qualquer tempo de inatividade?

1

É possível atualizar a versão do PHP em execução no meu servidor sem nenhum tempo de inatividade significativo?

O que eu quero evitar é que meus sites fiquem inativos por minutos (ou mais, se algo der errado) enquanto eu atualizo o PHP. Eu não me importo se eles estão por alguns segundos.

Idealmente, eu gostaria de ter duas versões do PHP instaladas em um servidor e apenas apertar um botão para alternar entre elas. Dessa forma, se houver problemas imprevistos com a nova versão, posso voltar rapidamente para a versão antiga.

A única maneira de pensar é ter dois servidores executando uma versão diferente do PHP e usar o DNS para escolher qual deles os usuários verão. É possível com um único servidor?

Editar

Eu deveria ter mencionado que estou usando um servidor Ubuntu 10.04 executando Nginx e PHP-FPM / FastCGI.

    
por Nigel Alderton 14.03.2014 / 02:05

2 respostas

4

Instale cada versão do PHP em um diretório diferente, alterne entre eles usando um link simbólico - no Unix, os links simbólicos são atômicos, o que significa nenhum tempo de inatividade. Em seguida, simplesmente reinicie seu servidor da Web para reiniciar os threads de trabalho, usando a nova versão do PHP.

Então:

/opt/php/5.1
/opt/php/5.2
/opt/php/live -> /opt/php/5.2

Isso não é tempo de inatividade zero, mas sua inatividade de segundos - conforme sua necessidade.

    
por 14.03.2014 / 02:13
1

como Adam Gibbins e Zoredache mencionaram, é totalmente dependente da sua configuração. Se você usa o gentoo-linux para o seu servidor, você pode instalar cada versão do PHP em diferentes slots e depois alternar entre eles usando eselect. Você ainda tem que reiniciar o servidor web, sem se livrar disso, mas isso é apenas alguns segundos. Claro, qualquer que seja o método usado, você precisará de um script de teste para garantir que tudo esteja funcionando AOK.

    
por 14.03.2014 / 07:36

Tags