Innanzitutto, è necessario installare php5-fpm
e php7.0-fpm
dal PPA di Ondřej Surý per php5 e php7.0 co-installabili. :
sudo apt-get install python-software-properties
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
Quindi, con nginx
, suggeriamo di usare i pacchetti FPM. Quindi, installa i pacchetti di conseguenza:
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: una risposta su "Come installare php 7?" domanda e commenti personalizzati e modifiche da me stesso.
In secondo luogo, nginx
. nginx
può solo essere buono come le tue configurazioni. Molto probabilmente hai un blocco di gestione PHP sul tuo blocco server nginx simile a questo (dalla configurazione di esempio 'default'):
# 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;
}
Questa configurazione passerà solo a php5-fpm
. In effetti, questo vale per l'intero blocco server. Il modo più semplice per farlo è avere un secondo blocco server (per esempio, test.domain.tld
) e fornire invece la fastcgi_pass
destinazione PHP 7.0 . In php7.0 su Xenial, questo sta per finire qualcosa di simile (estratto da una correzione di recente caricato il pacchetto nginx Xenial), però non so il layout del pacchetto di Ondrej quindi non posso dare specifiche esatte là (assegno /etc/php7.0/fpm/pool.d/www.conf
o simile per determinare dove sta ascoltando):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-fpm:
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
Dovrai fare qualcosa di simile per il tuo php5
blocco, per convalidare che php5.6
vengano usati i socket invece del php5
socket incorporato (che abbiamo appena rimosso).
Quindi, utilizzare il secondo dominio di test per eseguire il php7.0
test. Assicurati, tuttavia, di fare una copia del tuo sito se vuoi farlo - probabilmente sarà necessario disporre di una copia di prova separata in modo che una volta finito di farlo funzionare php7.0
, puoi semplicemente 'passare' senza problema.
Sfortunatamente, non esiste un modo semplice per creare php5
e php7.0
lavorare all'interno dello stesso blocco server, non senza alterare i percorsi per il tuo sito, applicazioni, ecc. Di cui avere uno per php5
e uno per php7.0
; tale rielaborazione dei siti può diventare sgradevole, quindi il suggerimento di eseguire due copie separate del codice del sito, uno per la php7.0
migrazione e uno per la php5
produzione.
*php5.6*
pacchetti forniti da Ondřej e rimuovere iphp5
pacchetti semplici .