cPanel - Guide e configurazione search
clear

Handler PHP: come funzionano, a cosa servono e quali è preferibile installare

Un handler PHP è il modulo software che permette alle librerie di Apache di interpretare il codice PHP di un sito web, influendo così sulle prestazioni, sui permessi e sul livello di sicurezza (un handler stabilisce cosa “si può fare“ e cosa no) e sulla generazione delle pagine (dinamiche). 

Gli handler PHP fanno in modo di stabilire come il linguaggio debba essere caricato all'interno del server su cui sta girando: numerosi sono gli handler che si possono utilizzare,  come ad esempio, CGI, DSO, suPHP e FastCGI. Ognuno di essi realizza il comportamento delle librerie, attraverso altrettante implementazioni e file distinti.

È facile intuire come gli handler possano influenzare sensibilmente il carico di lavoro e le prestazioni del server, per cui la scelta di questi ultimi dovrebbe avvenire in maniera molto accorta.
Diventa indispensabile, pertanto, capire quale di essi funzioni meglio per ogni caso specifico, tenendo conto del fatto che non esiste un handler migliore degli altri in assoluto.

Per impostazione predefinita, cPanel & WHM offre sei gestori PHP. Ogni gestore differisce nei file e nell'implementazione, il che influenza la rapidità e la sicurezza con cui Apache gestisce le richieste PHP.


La modifica dell’ handler PHP di cPanel è piuttosto semplice. 

Innanzitutto, l'utente dovrà effettuare il login al proprio account WHM ed andare su: Home >> Software >> Gestione MultiPHP.

In seguito, nella scheda “Gestori PHP” cliccare su “Modifica”, sulla versione di php dove desidera abilitare un particolare handler, e cliccare su "Applica" per apportare le modifiche.


 

Qualora l'handler desiderato non fosse in lista, l'utente dovrà ricorrere ad “Easy Apache” per compilarlo e renderlo disponibile. Dovrà:

  1. Andare nella sezione Software >> EasyApache 4



  2. Cliccare su “Personalizza” sotto Currently Installed Packages


  3. Cliccare su “Apache Modules” e scegliere gli handler che desidera installare/abilitare.

 

Come detto in precedenza esistono diversi tipi di handler PHP. Di seguito, una breve lista dei più utilizzati.

DSO (Dynamic Shared Object)
E' noto solitamente come mod_php.
 Si tratta di uno degli handler più vecchi ma, al tempo stesso, più efficienti. Ha il compito di far funzionare PHP come modulo del server Apache e ciò implica che le istruzioni PHP vengano eseguite dall'utente Apache “nobody”.

I principali inconvenienti di DSO sono due. Prima di tutto, i file PHP saranno considerati di proprietà dell'utente, quindi, qualora il sito necessiti di funzionalità di upload, esse non potranno essere garantite (sarà necessario impostare i permessi con CHMOD). Ad un esempio, le funzionalità di caricamento di immagini e documenti di Wordpress, così come gli update automatici, non funzioneranno se si adotta l'handler DSO.

Il secondo inconveniente è legato alla sicurezza del sistema. Poiché i file creati saranno di proprietà dell'utente “nobody” di Apache, qualora un hacker trovasse una falla negli script PHP,  potrebbe potenzialmente creare un proprio file con privilegi elevati, disponendo così della possibilità di manipolare i contenuti del filesystem dall'esterno.
Questa problematica rende DSO inadatto per le configurazioni multi-utente, come gli account reseller o anche gli hosting condivisi. Al contrario, in caso di singolo utente attivo sulla macchina – come, ad esempio, nel caso degli hosting dedicati – si potrà godere dei benefici di efficienza e velocità del modulo.

Un modo semplice per evitare rischi è quello di mantenere sempre il software aggiornato, seguendo gli aggiornamenti dei CMS oppure pianificandoli assieme al webmaster o sviluppatore del sito.

L'efficenza di DSO è dovuta essenzialmente al suo minimale utilizzo della CPU, il che lo rende piuttosto diffuso su buona parte dei server in circolazione come scelta di default.

CGI (Common Gateway Interface)
E' uno degli handler più noti e diffusi e ha il compito di far funzionare PHP come modulo CGI invece che Apache. Tuttavia, anch'esso esegue i processi PHP come utente “nobody” di Apache, ma tenendo sotto controllo le utenze che effettuano le varie richieste mediante il modulo suEXEC. Stando alla documentazione di cPanel, questo modulo non è né efficiente né sicuro, nonostante sia possibile far intervenire il suddetto componente di sistema aggiuntivo. cPanel & WHM fornisce mod_cgi e mod_ruid2 per impostazione predefinita.


suPHP (Single user PHP)
Fa funzionare PHP come modulo CGI, ma differisce da quest'ultimo per un aspetto fondamentale. Gli script che vengono eseguiti dal web, infatti,  funzionano rigorosamente per lo stesso utente che ne detiene i diritti. suPHP: per questa ragione, è il modulo ufficialmente suggerito da cPanel poiché, nella pratica, permette di monitorare costantemente quale utente stia eseguendo ogni operazione, piuttosto che relegarla all'utente generico “nobody”.

suPHP permette, inoltre, di superare le limitazioni viste in precedenza in merito all'upload dei file sul sito – update automatici, installazione di plugin o temi di Wordpress – che potranno essere eseguiti in condizioni di massima sicurezza.
E' bene tenere presente, comunque, che le funzionalità di upload non potranno funzionare su un server senza suPHP oppure FastCGI.

L'handler suPHP offre inoltre il vantaggio che qualsiasi script venga eseguito esclusivamente dall'utente proprietario e che i file che possiedono permessi di scrittura estesi non possano, in generale, essere anche eseguibili. In altri termini, qualora un account di hosting risultasse compromesso, non potrebbe comunque “infettare” altri account.

L'unico reale svantaggio derivante dall'utilizzo di suPHP risiede nel fatto che impiega notevolmente la CPU del server, causando alcuni rallentamenti del sistema. Inoltre, non è consentito utilizzare Opcode Cache (come Xcache oppure APC), imponendo all'amministratore la necessità di installare un plugin ulteriore. 

 

FastCGI 

È un'alterazione del modulo CGI, che migliora le prestazioni del server e gli aspetti di sicurezza. Combina i vantaggi di PHP e consente l'esecuzione dello script solo per il proprietario. La principale differenza di FastCGI, rispetto ad altri gestori, è fornire un utilizzo ottimizzato della CPU, oltre a prestazioni elevate paragonabili a quelle DSO. Questo modulo è compatibile con eAccelerator o APC, che possono aumentare la velocità di visualizzazione delle immagini. Lo svantaggio di questo handler sta nell'utilizzo della memoria RAM: questo accade perché i processi PHP non vengono gestiti dinamicamente ad ogni comando, considerando la presenza di una singola sessione attiva in background. Questo gestore consente anche l'uso di plugin come Opcode per la cache. Devi considerare l'opportunità di utilizzare FastCGI nel caso in cui desideri sfruttare le migliori caratteristiche di suPHP e, allo stesso tempo, di un utilizzo ottimizzato della memoria RAM.


FastCGI Process Manager (PHP-FPM)

PHP FastCGI Process Manager (PHP-FPM) è un demone FastCGI alternativo per PHP che consente a un sito Web di gestire carichi pesanti. PHP-FPM mantiene i pool (worker che possono rispondere alle richieste PHP) per ottenere questo risultato. PHP-FPM è più veloce dei metodi tradizionali basati su CGI, come SUPHP, per ambienti PHP multiutente. 

É possibile cambiare le impostazioni di FPM da WHM tramite la seguente procedura: Home -> Software -> Gestione MultiPHP e poi cliccare sulla scheda “System PHP-FPM Manager”

 

FCGI daemon (FCGId)

mod_fcgid è un'alternativa ad alte prestazioni a mod_cgi o mod_cgid, che avvia un numero sufficiente di istanze del programma CGI per gestire richieste simultanee e questi programmi rimangono in esecuzione per gestire ulteriori richieste in arrivo. È preferito dagli sviluppatori PHP, ad esempio, come alternativa preferita all'esecuzione di mod_php in-process, offrendo prestazioni molto simili.

Consigliamo il modulo mod_fcgid Apache solo per amministratori di sistema avanzati che capiscono come modificare le prestazioni del modulo mod_fcgid Apache.


LSAPI

Apache mod_lsapi è un modulo basato su LiteSpeed Technologies API per PHP. Offre eccellenti prestazioni PHP, un ridotto ingombro di memoria unito a una grande sicurezza e supporto per la memorizzazione nella cache del codice operativo.

Usando LSAPI, abbiamo visto prestazioni più elevate di Apache con mod_php, installazione più semplice di php-fpm e integrazione più semplice con qualsiasi pannello di controllo. LSAPI significa pagine web dinamiche più veloci e più stabili.

Per utilizzare la piena funzionalità di questo gestore, il sistema deve eseguire CloudLinux.

 

Di seguito, una breve tabella comparativa dei diversi handler descritti in precedenza.

 

DSO

CGI

SuPHP

FastCGI

Basso utilizzo di CPU

   

Basso consumo di RAM

 

Utilizza PHP mediante singoli utenti proprietari e non come Apache

 

solo con suEXEC

Sicurezza

   

 

 

Hai trovato utile questa risposta?

Hai ancora bisogno di aiuto?

Contatti

Contatti

Richiedi informazioni, assistenza o preventivi

Chat

Chat

Chiedi informazioni su servizi e promo

Ticket

Ticket

Invia una richiesta per supporto tecnico

Pagamenti

Pagamenti

Effettua un pagamento in pochi click