Primeiramente, você precisa instalar php5-fpme a php7.0-fpmpartir do PPA do Ondřej Surý para o php5 e o php7.0 co-instaláveis. :
sudo apt-get install python-software-properties
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
Em seguida, nginxsugerimos o uso dos pacotes FPM. Portanto, instale os pacotes adequadamente:
sudo apt-get update
# We need to ***remove*** php5 packages, so we can use php5.6 packages
# from the PPA instead
sudo apt-get remove php5-common
sudo apt-get autoremove
# Now we install php5.6 packages.
sudo apt-get install php5.6-fpm
# Now, install php7.0-fpm. You may need to install separate PHP plugins
# for databases, extensions, etc. later.
sudo apt-get install php7.0-fpm
Fonte: Uma resposta no "Como instalar o php 7?" pergunta e comentários e modificações personalizados.
Em segundo lugar nginx. nginxsó pode ser tão bom quanto suas configurações. É muito provável que você tenha um bloco de manipulação do PHP no (s) bloco (s) do servidor nginx semelhante a este (da configuração de exemplo 'padrão'):
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
Essa configuração passará apenas para php5-fpm. Com efeito, isso se aplicará a todo o bloco do servidor. A maneira mais fácil de fazer isso é ter um segundo bloco de servidor (por exemplo test.domain.tld) e fornecer o fastcgi_passdestino do PHP 7.0 . No php7.0 no Xenial, isso vai acabar com algo assim (extraído de uma correção recentemente carregada no pacote nginx do Xenial), no entanto, eu não conheço o layout do pacote do Ondrej, por isso não posso fornecer detalhes exatos (verifique /etc/php7.0/fpm/pool.d/www.confou semelhante para determinar onde está ouvindo):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-fpm:
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
Você precisará fazer algo semelhante ao seu php5bloco, para validar que os php5.6soquetes são usados em vez do php5soquete interno (que acabamos de remover).
Em seguida, use o segundo domínio de teste para executar o php7.0teste. Entretanto, certifique-se de fazer uma cópia do seu site, se você quiser fazer isso - provavelmente será necessário ter uma cópia de teste separada para que, assim que terminar de trabalhar php7.0, você possa simplesmente 'alternar' sem questão.
Infelizmente, não há uma maneira fácil de criar php5e php7.0trabalhar no mesmo bloco de servidor, sem alterar os caminhos do site, aplicativos, etc., para ter um para php5e outro para php7.0; esse retrabalho de sites pode ficar desagradável, daí a sugestão de executar duas cópias separadas do código do site, uma para php7.0migração e outra para php5produção.
*php5.6*pacotes que o Ondřej fornece e remova osphp5pacotes simples .