Article ID: 125146, created on Oct 29, 2015, last review on Jun 17, 2016

  • Applies to:
  • Plesk Onyx for Linux
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 12.5 for Windows
  • Plesk 12.0 for Windows

Perché devo eseguire diverse versioni PHP sullo stesso server?

Esistono diversi motivi per cui potrebbe interessarti eseguire diverse versioni di PHP sullo stesso server. Forse hai un'applicazione PHP 5.2 in esecuzione sul server ed hai bisogno di iniziare ad utilizzare un'altra applicazione basata su un nuovo framework come Symfony2 o Lithium? Forse hai un client con un sito precedente che usa PHP 5.2 o forse vuoi semplicemente verificare qualche nuova funzionalità? Oppure desideri spostare il tuo hosting verso un sistema operativo moderno, ma conservare alcuni dei tuoi siti su una versione PHP precedente che sia disponibile nel tuo attuale sistema operativo?

Come posso usare diverse versioni PHP in Plesk 12.0 e in Plesk 12.5?

Adesso, con Plesk 12.0 e Plesk 12.5, è possibile installare e usare diverse versioni di PHP 5.x create dal team Plesk tramite il pannello Plesk, senza alcun archivio aggiuntivo di terze parti o senza creare PHP dalle risorse in modo autonomo!

I pacchetti PHP di Plesk non sono in conflitto né sostituiscono altri pacchetti PHP, per cui è possibile continuare a usare le versioni PHP attuali o pacchetti PHP di terze parti.

Nota: Al momento, i pacchetti PHP dal team Plesk sono disponibili unicamente su CentOS 6, CentOS 7 e Ubuntu 14!

In Plesk 12.5, l'elenco viene ampliato con i sistemi operativi Ubuntu 12, Debian 6, Debian 7 e RHEL 6, 7.

Primo passaggio. Installa le versioni PHP occorrenti pacchettizzate dal team Plesk

  • Esegui l'installazione via GUI

    Just go to the Plesk Installer interface and choose the PHP versions you need ("Add/Remove Components" > "Web hosting features" > "Different PHP interpreters versions").

  • Esegui l'installazione via CLI

    #plesk sbin autoinstaller --select-product-id plesk --select-release-current  --install-component php5.6
    

Nota:Il componente "supporto PHP 5 (dal produttore di SO)" non può essere rimosso anche se non è più necessario.

Nota: Il gestore PHP-FPM al momento non fa parte dei pacchetti PHP di Plesk. Questo cambierà a partire da Plesk 12.1, per cui sarai in grado di selezionare anche le versioni PHP-FPM necessarie.

Secondo passaggio. Seleziona le versioni PHP necessarie nei tuoi piani di servizio e impostazioni del sito web.

Dopo l'installazione, le nuove versioni PHP saranno disponibili alla selezione nei piani di servizio e impostazioni di hosting del sito web.

Passaggio dei siti web verso PHP pacchettizzato dal team Plesk

I pacchetti PHP del team Plesk non sostituiscono le versioni PHP già installate e non aggiornano i piani di servizio e siti web esistenti. Se usi già i pacchetti PHP da archivi di terze parti e desideri spostare i siti verso il PHP incluso dal team Plesk, devi farlo manualmente nell'interfaccia utente di Plesk o tramite l'interfaccia della riga di comando di Plesk.

Un modo facile per farlo è quello seguente. Per esempio, passiamo tutti i siti web da "PHP 5.3 fastcgi" dall'archivio CentOS 6 verso "PHP 5.4 fastcgi" pacchettizzato dal team Plesk.

  • Controlla che entrambi i gestori PHP, quello nuovo e quello vecchio, siano registrati in Plesk eseguendo il comando

    /usr/local/psa/bin/php_handler --list.
    

Vedi le voci nella colonna "display name".

  • Passa tutti i siti web al nuovo gestore PHP (come indicato dalle voci nella colonna "id"):

    /usr/local/psa/bin/php_handler --replace -old-id fastcgi -new-id plesk-php54-fastcgi.
    

Se qualcosa va storto con il passaggio, usa l'utility helper in allegato per verificare lo stato attuale e per cambiare i gestori. È necessario eseguirlo come utente root.

Il seguente comando mostra tutti i domini e gestori che sono attualmente usati:

#php php_management_tool list 

Il seguente comando passa tutti i domini che usano un gestore PHP specificato da un gestore (specificato con l'opzione --from) verso un altro (specificato con l'opzione --to):

#php php_management_tool move --from=fastcgi-54 --to=plesk-php54-fastcgi

Il comando sotto passa i domini specificati verso il gestore PHP che viene specificato con l'opzione --to:

#php php_management_tool move --to=plesk-php56-cgi --domains=module.a10-52-53-101.qa.plesk.ru,module.tld

Informazione tecnica

I pacchetti PHP dal team Plesk non sono in conflitto con i pacchetti da altri archivi di terze parti. I nomi del pacchetto hanno il prefisso "plesk-php". Puoi usare soltanto uno dei seguenti comandi per verificare quali pacchetti PHP dal team Plesk sono attualmente installati sul server.

rpm -qa|grep "plesk-php" 

su Ubuntu/Debian

dpkg -l|grep "plesk-php"  

Tutti i file sono installati nella directory /opt/plesk/php/<version>.

Il file php.ini si trova in /opt/plesk/php/<version>/etc

Per verificare quali gestori PHP sono attualmente registrati in Plesk, puoi usare questo comando:

/usr/local/psa/bin/php_handler --list

Come installare pacchetti "devel"

Per esempio, se desideri installare il pacchetto "devel" per PHP di Plesk, è necessario installare il pacchetto plesk-phpXX-devel per la versione PHP corrispondente utilizzando lo strumento di gestione di pacchetti di sistema (yum o apt):

# yum install plesk-php56-devel

oppure

# apt-get install plesk-php56-devel

Aggiungere moduli PHP personalizzati in Plesk

Per aggiungere un modulo, è necessario scaricare e installare prima i pacchetti necessari e quindi creare il modulo e finalmente abilitarlo per la versione PHP corrispondente. I passaggi per la procedura di creazione differiscono lievemente dalle istruzioni PHP standard, che si trovano qui – presta attenzione ai percorsi personalizzati che dovrai usare.

L'esempio sotto illustra il concetto aggiungendo il modulo memcached per PHP 5.6. I comandi nell'esempio sono per CentOS 7, ma puoi fare uso di questa funzionalità anche su diversi sistemi operativi. Potrebbe essere necessario modificare leggermente i nomi del pacchetto, ma il principio sottostante rimane lo stesso.

Scarica e installa i pacchetti necessari:

# yum search plesk-php devel
# yum install make plesk-php56-devel gcc glibc-devel libmemcached-devel zlib-devel

Poi crea il modulo:

# /opt/plesk/php/5.6/bin/pecl install memcached

(quando ti verrà richiesto per la directory libmemcached, non specificare alcun nome e premi il tasto Invio)

Registrala per la corrispondente versione PHP:

# echo "extension=memcached.so" > /opt/plesk/php/5.6/etc/php.d/memcached.ini

E finalmente controlla che il modulo sia abilitato:

# /opt/plesk/php/5.6/bin/php -i | grep "memcached support"
memcached support => enabled

Possibili problemi e limitazioni

  • Plesk Mirror Tool. Se utilizzi un mirror dell'archivio Plesk, devi aggiornare lo strumento ottenendolo da /en/113337. La versione attuale è 1.4.

  • Il modulo Apache PHP e PHP-FPM non sono inclusi nei pacchetti PHP dal team Plesk.

  • I pacchetti PHP dal team Plesk non son disponibili sui sistemi operativi precedenti. Al momento, i pacchetti PHP dal team Plesk sono disponibili su CentOS 6, CentOS 7 e Ubuntu -14. A partire da Plesk 12.1, amplieremo tale elenco con i sistemi operativi Ubuntu 12 e Debian.

Invia il tuo feedback sulla funzionalità PHP multiple nel seguente thread del forum Plesk

Riferimenti

php_management_tool, utility per gestire i gestori php dalla CLI per dominio.

Plesk Mirror Tool, utility per gestire il mirror dell'archivio Plesk.

Threat del forum Plesk aperto al dibattito

Gestori PHP, Manuale dell'amministratore

29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c a914db3fdc7a53ddcfd1b2db8f5a1b9c 2a5151f57629129e26ff206d171fbb5f e335d9adf7edffca6a8af8039031a4c7 742559b1631652fadd74764ae8be475e 0a53c5a9ca65a74d37ef5c5eaeb55d7f 8b661cab116c79dbe6c4ac5bbdf1c8cb 85a92ca67f2200d36506862eaa6ed6b8 a766cea0c28e23e978fa78ef81918ab8 01bc4c8cf5b7f01f815a7ada004154a2 ed7be2b984f9c27de1d2dc349dc19c6d 31017699f1904665788bf685dabf68e3

Email subscription for changes to this article
Save as PDF