// hosting · Web Platform Advent #15
Hébergement PHP : mutualisé vs VPS, versions et performances
Ce qu'il faut regarder dans un hébergement PHP — mutualisé vs VPS, versions et extensions PHP, déploiement, .htaccess et performances avec OPcache — sans le bruit marketing.
PHP propulse encore une grande partie du web, et l'héberger est un terrain bien balisé — c'est justement pourquoi les offres se ressemblent toutes et que les vraies différences se cachent dans les détails. Ce guide couvre les critères qui comptent vraiment : l'arbitrage mutualisé/VPS, les versions et extensions PHP, la façon de déployer, ce que contrôle le .htaccess, et les leviers de performance à connaître.
Hébergement mutualisé vs VPS
La première décision porte sur le degré d'isolation de votre environnement.
- Mutualisé — votre site cohabite avec beaucoup d'autres sur une même machine, gérée pour vous (PHP, serveur web, souvent un panneau de contrôle). Le moins cher et le plus simple ; vous renoncez au contrôle de la version PHP, des extensions et de la config serveur, et vous partagez les ressources avec les voisins.
- VPS — une tranche dédiée de serveur avec accès root. Vous choisissez la version PHP, installez n'importe quelle extension, réglez le serveur web et n'êtes pas affecté par les autres locataires — mais vous êtes responsable des mises à jour et de la sécurité.
Pour un petit site ou un CMS standard, le mutualisé suffit généralement. Optez pour un VPS quand vous avez besoin d'un build PHP précis, d'extensions personnalisées, de performances plus prévisibles, ou d'un contrôle total de la stack.
La version PHP compte
La version PHP n'est pas un détail — les versions récentes sont nettement plus rapides et, surtout, reçoivent encore les correctifs de sécurité. Faire tourner une version en fin de vie, c'est ne plus avoir de patchs. Vérifiez toujours quelles versions un hébergeur propose et si vous pouvez en changer facilement. On lit la version active depuis le code ou la CLI :
<?php
echo phpversion(); // ex. "8.3.x"
// ou un rapport complet :
phpinfo(); php -v Un bon hébergeur permet de sélectionner la version PHP par site (souvent dans le panneau de contrôle) et garde une gamme de versions supportées disponibles, pour que vous mettiez à jour à votre rythme.
Extensions : à vérifier avant de vous engager
Les fonctionnalités de PHP sont réparties entre des extensions, et votre app en dépend probablement de plusieurs — un pilote de base de données, le traitement d'images, etc. Les plus courantes à vérifier auprès d'un hébergeur :
pdo_mysql/mysqli— connectivité MySQL/MariaDB.mbstring— gestion des chaînes multioctets, requise par de nombreux frameworks.gdouimagick— traitement d'images.curl,openssl,zip,intl— requêtes HTTP, chiffrement, archives, localisation.
Listez ce qui est réellement chargé sur le serveur avec :
php -m
Déploiement et .htaccess
Sur du mutualisé, vous déployez généralement en envoyant des fichiers (SFTP) ou en récupérant depuis Git dans la racine web ; certains hébergeurs ajoutent une étape de déploiement depuis le panneau. Sous Apache, le fichier .htaccess à la racine web configure le comportement par répertoire sans toucher à la config serveur principale — utile pour les URL propres, les redirections et les en-têtes de cache. Un motif courant route toutes les requêtes vers un contrôleur frontal :
# .htaccess — tout router vers index.php (contrôleur frontal)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L] Notez que .htaccess est une fonctionnalité d'Apache. Sous Nginx, les règles équivalentes vivent dans la config serveur, que vous ne contrôlez peut-être pas en mutualisé — une raison de plus de savoir quel serveur web utilise votre hébergeur.
Performances : OPcache
Le plus grand gain de performance PHP est OPcache, qui met en cache le bytecode compilé pour que PHP ne ré-analyse et ne recompile pas vos scripts à chaque requête. La plupart des hébergeurs modernes l'activent par défaut ; ça vaut la peine de le confirmer. Réglages typiques dans php.ini :
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1 En production, vous pouvez mettre opcache.validate_timestamps=0 pour que PHP ne vérifie jamais les changements de fichiers, puis vider le cache au déploiement — un peu plus de vitesse au prix d'une réinitialisation explicite du cache.
Checklist rapide
| Critère | À demander |
|---|---|
| Isolation | Mutualisé (simple) ou VPS (contrôle) ? |
| Version PHP | Supportée, à jour, changeable ? |
| Extensions | Celles dont mon app a besoin sont-elles dispo ? |
| Serveur web | Apache (.htaccess) ou Nginx ? |
| Performances | OPcache est-il activé ? |
L'hébergement PHP est mature, alors ne surpensez pas les marques — alignez l'hébergeur sur les vrais besoins de votre app : la bonne version PHP, les extensions dont vous dépendez, un serveur web que vous comprenez et OPcache activé. Réussissez ces points et le reste est surtout une question de préférence.