Como atualizo o PHP progressivamente em vários sites em um único servidor?

0

Eu tenho um conjunto de sites baseados em PHP hospedados em um único servidor Ubuntu 12.04 para o qual eu preciso atualizar o PHP. No entanto, como alguns dos sites são de controle de qualidade e outros são de produção, eu preciso fazer isso de forma progressiva. Ou seja, eu gostaria que os sites de QA fossem primeiro para que eu pudesse verificar se o upgrade do PHP não quebra nada, antes de ser lançado na produção. Qual é a melhor maneira de fazer isso?

Os sites são todos servidos através do Apache e possuem seu próprio arquivo vhost.

Estou imaginando que eu posso (de alguma forma) instalar uma nova versão do PHP em um ponto específico e através da configuração (Apache? vhost?), especificar que um site usa esta versão do PHP (em vez daquele em /usr/bin/php ).

As versões do PHP em questão são bem antigas: estou atualizando do PHP 5.3 para o 5.4 neste ponto. Embora (obviamente) eu precise chegar a 5.6 em breve. Então, eu estou atrás de um processo que eu possa reutilizar.

    
por dave 26.11.2015 / 07:57

1 resposta

0

Você provavelmente deve ter dois ou mais servidores diferentes, um para teste, o outro para produção, etc. VPSs são realmente baratos agora, e uma solução baseada em VPS seria muito mais fácil do que isso para configurar, manter, atualizar, etc. ... O princípio a ter em conta chama-se "KISS".

De qualquer forma, voltemos à questão: eu estaria procurando em várias instâncias do FPM em execução na mesma máquina, uma para cada versão do PHP. Desta forma, seria apenas uma questão de uma linha de ProxyPassMatch para mudar um site (ou seja, vhost) de uma versão do PHP para outra. Isso permitiria que você tivesse um único front-end do Apache com vários back-ends de PHP.

(vários Apache na mesma máquina parecem um pesadelo para mim).

Php-fpm é um servidor CGI separado que executa o PHP fora do Apache. Se você ainda estiver usando o mod-php, você deve primeiro migrar para o fpm e aprender como fazer o proxy com o Apache.

Você precisaria construir cada versão do PHP a partir do código-fonte e instalá-lo em uma pasta diferente, preparar toda a configuração e criar seus scripts de inicialização. Não é tão difícil. Você pode encontrar um exemplo aqui (é baseado no nginx, mas é fácil de migrar): link

Se você fizer isso, lembre-se de que você precisará manter o PHP atualizado em relação aos patches de segurança, assim você precisará alocar tempo para fazer o download, recompilar e testar.

    
por Palantir 28.11.2015 / 18:09