Introduction & Fonctionnement
Choisir son "Handler" ou gestionnaire PHP en français n'est pas un choix si évident.
En effet les gestionnaires PHP, sont un type de module Apache, contiennent des bibliothèques que le serveur Web Apache utilise pour interpréter et exécuter du code PHP.
Le fichier de configuration /etc/apache2/conf.d/php.conf
contient les directives globales qui configurent les gestionnaires d'applications PHP d'Apache.
Une commande incluse dans le fichier de configuration Apache ( httpd.conf) charge le fichier de configuration php.conf
afin que les gestionnaires se chargent au démarrage.
Choix du gestionnaire PHP
Par défaut, cPanel & WHM propose six gestionnaires PHP. Chaque gestionnaire diffère dans ses fichiers et son implémentation, ce qui affecte la rapidité et la sécurité avec lesquelles Apache gère les requêtes PHP.
Chacun a une manière distincte de traiter le code PHP, et a ses propres avantages et inconvénients. En termes plus simples, la décision de choisir le gestionnaire PHP dépend des besoins spécifiques de votre site.
Le choix du handler est étroitement lié au choix de votre MPM Apache, nous vous conseillons la lecture de notre article associé : https://clients.offshore-cloud.com/knowledgebase/99/Apache---Choisir-votre-MPM.html
DSO
DSO (Dynamic Shared Object) fonctionne comme un module Apache et, comme il a peu de frais généraux, il est extrêmement rapide. Cependant, DSO ne fonctionne qu'avec Apache en mode non threadé.
Opter pour la vitesse pure de DSO signifie renoncer aux avantages de performance des autres modules multi-traitements d'Apache , tels qu'une meilleure gestion des processus et la possibilité de gérer plus de connexions en utilisant moins de ressources serveur. Vous devrez évaluer les besoins spécifiques de votre site avant de décider de faire ce compromis.
Par défaut, les scripts PHP avec DSO s'exécutent en tant qu'utilisateur Apache «nobody», ce qui peut avoir des implications pour la sécurité. Dans cette configuration, les scripts ne sont pas confinés à un domaine particulier et un script malveillant pourrait potentiellement accéder à des fichiers en dehors du répertoire de base du site. Les autorisations standard de DSO peuvent également créer du travail supplémentaire lors de l'utilisation d'un système de gestion de contenu (CMS). Les problèmes de sécurité et de compatibilité peuvent être résolus en compilant Apache avec le module mod_ruid2, qui permet aux scripts de s'exécuter en tant qu'utilisateur Linux propriétaire du domaine, mais DSO exigerait toujours qu'Apache s'exécute avec le MPM Prefork à un seul thread.
CGI
CGI (Common Gateway Interface) est hautement configurable et peut exécuter des scripts PHP en tant qu'utilisateur Apache ou en tant qu'utilisateur Linux propriétaire du domaine via SuExec (qui est activé par défaut dans WHM). Cependant, étant le plus lent des gestionnaires PHP, il n'est plus largement utilisé. FCGI est l'alternative préférée.
SuPHP
SuPHP (Single User PHP) a été conçu avec une sécurité renforcée. SuPHP n'exécute des scripts PHP qu'en tant que propriétaire du domaine, isolant efficacement chaque utilisateur des autres.
Cela permet d'identifier facilement les utilisateurs avec des scripts gourmands en ressources ou compromis, mais cela signifie également que SuPHP est plus lent que DSO ou FCGI. Et comme un nouveau processus est créé pour chaque demande entrante, un serveur à fort trafic pourrait également subir une charge élevée lors d'une surtension, car les processus sont générés en succession rapide. Cependant, SuPHP fonctionne avec n'importe quel MPM Apache, et les MPM Worker et Event peuvent aider à améliorer l'utilisation des ressources.
Étant donné que les scripts s'exécutent en tant qu'utilisateur, il s'agit d'un choix courant pour les sites exécutant un CMS et ne nécessite pas les mêmes modifications d'autorisations que DSO. Cependant, passer de DSO fonctionnant en tant qu'utilisateur Apache à SuPHP impliquerait de modifier les permissions des scripts.
FCGI
FCGI (FastCGI) a été écrit avec la vitesse à l'esprit, et c'est rapide. Avec SuExec activé, FCGI exécute des scripts PHP en tant qu'utilisateur, offrant les mêmes avantages pour les sites CMS que SuPHP, mais avec en prime une vitesse supplémentaire. Il offre également une sécurité améliorée par rapport à DSO.
Il peut cependant être difficile à configurer, mais avec une certaine optimisation, ce gestionnaire PHP est un choix idéal pour la plupart des serveurs.
Chez Offshore Cloud, nous avons longuement testé et optimisé FCGI sur les serveurs cPanel pour obtenir des performances et une stabilité maximales tout en minimisant son utilisation en ressources. C'est pour cela que nous l'utilisons sur la majorité des comptes clients.
LSAPI
LSAPI est le moyen le plus rapide et le plus fiable de servir des pages PHP. Il s'agit d'un remplacement instantané pour SuPHP, FCGID, RUID2 et ITK. Il a une faible empreinte mémoire et comprend les directives PHP des fichiers .htaccess
et est compatible avec MPM Worker et Event.
Pour utiliser toutes les fonctionnalités de ce gestionnaire, votre système doit exécuter CloudLinux (voir : https://docs.cloudlinux.com/apache_mod_lsapi/ )
Notre Cluster mutualisé bénéficiant de CloudLinux, LSAPI est d'ailleurs, depuis peu, le Handler de cette infrastructure (voir notre article : https://clients.offshore-cloud.com/announcements/37/Performances-accrues-et-PHP-optimise.html)
Si vous souhaitez plus de détails ainsi que les différences entre les Handlers proposés : https://docs.cpanel.net/ea4/php/php-handlers/
Changez votre gestionnaire PHP sous Cpanel/WHM
Changez votre gestionnaire PHP dans la section "Handlers PHP" du module WHM "MultiPHP Manager"ou utiliser le script rebuild_phpconf.