
Sur un hébergement mutualisé comme o2switch, chaque boutique PrestaShop peut nécessiter une version PHP différente. En utilisant un php.ini centralisé et des réglages par dossier, vous gagnez en flexibilité, sécurisez vos configurations et évitez les conflits lors des mises à jour automatiques du .htaccess. Une méthode idéale pour les développeurs et agences qui gèrent plusieurs boutiques ou projets simultanément.
/home/votre_login/php.ini
votre_login représente votre identifiant o2switch. C’est votre espace perso sur le serveur, où vous pouvez ajuster PHP pour chaque site ou dossier, en toute sécurité.
Pour appliquer cette configuration à un répertoire, éditez le fichier .htaccess situé à la racine de votre boutique et placez le bloc suivant avant le marqueur # ~~start~~ :
SetHandler application/x-httpd-php74
AddHandler application/x-httpd-php74 .php
suPHP_ConfigPath /home/votre_login/php.ini
AddHandler : forcent PHP 7.4 pour ce répertoire.suPHP_ConfigPath : indique le chemin de votre fichier php.ini personnalisé.# ~~start~~ : PrestaShop régénère automatiquement le reste du .htaccess, donc tout code après ce marqueur peut être écrasé.Vous pouvez gérer différentes versions pour différents répertoires PrestaShop.
/prestashop56/ → PHP 5.6/prestashop73/ → PHP 7.3/prestashop74/ → PHP 7.4/prestashop81/ → PHP 8.1Dans chaque répertoire, .htaccess contiendra le bloc adapté :
# Pour PHP 7.3
SetHandler application/x-httpd-php73
AddHandler application/x-httpd-php73 .php
suPHP_ConfigPath /home/votre_login/php.ini
Le fichier php.ini peut rester unique pour toutes les versions, tant que vous utilisez les extensions modernes (mysqlnd.so, nd_mysqli.so, etc.) compatibles PHP 7+.
Il est possible d’utiliser le même fichier php.ini pour toutes vos installations si elles utilisent exactement la même version de PHP et ont besoin des mêmes extensions et réglages. Cela signifie que tous vos sites partageront les mêmes paramètres pour la mémoire, la taille des uploads, le temps d’exécution, et les extensions activées.
L’avantage principal est que tout est centralisé, ce qui facilite la maintenance et permet de garantir que tous vos sites fonctionnent de manière uniforme sans avoir à modifier plusieurs fichiers différents.
En revanche, si vous hébergez plusieurs versions différentes de PrestaShop, comme 1.7, 8 ou 9, il est préférable de créer un fichier php.ini distinct pour chaque version.
La raison est simple : chaque version de PrestaShop peut nécessiter des extensions PHP différentes, et certaines extensions obsolètes ou non compatibles avec les versions récentes de PHP peuvent provoquer des erreurs ou des dysfonctionnements si elles sont activées sur toutes les installations.
Cette méthode assure que vos sites restent stables, performants et faciles à gérer, tout en vous permettant de gérer plusieurs versions de PHP sur un même hébergement.
Résumé pratique :
public_html..htaccess local.# ~~start~~;.info.php :
.htaccess.
Cette approche est pratique pour les développeurs et agences qui gèrent plusieurs boutiques ou versions de CMS sur un hébergement mutualisé comme o2switch.
Pour être compatible avec :
✅ WordPress
✅ PrestaShop 1.6
✅ PrestaShop 1.7
✅ PrestaShop 8
✅ PrestaShop 9
Ce tableau vous permettra d’activer une seule fois les bonnes extensions dans le MultiPHP INI Editor / Select PHP Version, sans rien oublier.
| Extension PHP | WordPress | PS 1.6 | PS 1.7 | PS 8 | PS 9 | À ACTIVER ? |
|---|---|---|---|---|---|---|
| bcmath | — | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| curl | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| dom | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| exif | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| fileinfo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| gd | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| iconv | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| intl | Recommandé | Optionnel | ✔️ | ✔️ | ✔️ | ✔️ |
| json | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| mbstring | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| mysqli | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| mysqlnd | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| openssl | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| pcre | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| pdo | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| pdo_mysql | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| session | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| simplexml | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| soap | Optionnel | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| tidy | Optionnel | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| xml | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| xmlreader | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| xmlwriter | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| zip | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| zlib | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| sodium | ✔️ | — | Optionnel | ✔️ | ✔️ | ✔️ (PS8/9 utile) |
| imagick | Recommandé | Recommandé | Recommandé | Recommandé | Recommandé | ✔️ |
| opcache | Recommandé | Recommandé | Recommandé | Recommandé | Recommandé | ✔️ |
| redis | Optionnel | Optionnel | Optionnel | Optionnel | Optionnel | (FACULTATIF) |
| memcached | Optionnel | Optionnel | Optionnel | Optionnel | Optionnel | (FACULTATIF) |
| mcrypt | — | ✔️ (PS 1.6 seulement) | — | — | — | ❗ Seulement si PS 1.6 |
Remarques :
mcrypt uniquement pour cette instance (sinon inutile).opcache et imagick sont fortement recommandés en production.redis / memcached : activer seulement si tu utilises ces systèmes de cache.| Extension | Statut | Commentaire |
|---|---|---|
| ctype | 🟩 Obligatoire | Base PHP |
| curl | 🟩 Obligatoire | WP + PS |
| date | 🟩 Obligatoire | Base PHP |
| dom | 🟩 Obligatoire | PS + WP |
| exif | 🟩 Obligatoire | Images / WP |
| fileinfo | 🟩 Obligatoire | WP + PS |
| filter | 🟩 Obligatoire | Base PHP |
| gd | 🟩 Obligatoire | Manipulation d’images |
| hash | 🟩 Obligatoire | Base PHP |
| iconv | 🟩 Obligatoire | Encodage |
| intl | 🟩 Obligatoire | Choix de langue / normalisation |
| json | 🟩 Obligatoire | WP + PS |
| libxml | 🟩 Obligatoire | XML |
| mbstring | 🟩 Obligatoire | Manipulation des chaînes |
| mysqli | 🟩 Obligatoire | Connexion MySQL |
| mysqlnd | 🟩 Obligatoire | Driver natif MySQL |
| pdo | 🟩 Obligatoire | Base PDO |
| pdo_mysql | 🟩 Obligatoire | PDO + MySQL |
| session | 🟩 Obligatoire | Sessions PHP |
| simplexml | 🟩 Obligatoire | PS + WP |
| sodium | 🟩 Obligatoire | Sécurité |
| spl | 🟩 Obligatoire | Base PHP |
| standard | 🟩 Obligatoire | Base PHP |
| tokenizer | 🟩 Obligatoire | WP + PS |
| xml | 🟩 Obligatoire | XML |
| xmlreader | 🟩 Obligatoire | XML |
| xmlwriter | 🟩 Obligatoire | XML |
| zip | 🟩 Obligatoire | Import/export modules |
| zlib | 🟩 Obligatoire | Compression |
| opcache | 🟩 Obligatoire | Performance PS + WP |
| imagick | 🟧 Optionnel | Images HD |
| redis | 🟧 Optionnel | Cache avancé |
| memcached | 🟧 Optionnel | Cache |
| memcache | 🟧 Optionnel | Ancien système de cache |
| imap | 🟧 Optionnel | Connexion email |
| oauth | 🟧 Optionnel | API externes |
| yaml | 🟧 Optionnel | Développement PS |
| xmlrpc | 🟧 Optionnel | API anciennes |
| mcrypt | 🟧 Optionnel (PS 1.6) | Vieux modules PS 1.6 |
| ioncube_loader | 🟥 À éviter | Ralentit + inutile |
| xdebug | 🟥 À éviter | Dev uniquement — très lent |
| scoutapm | 🟥 À éviter | Monitoring externe |
| newrelic | 🟥 À éviter | Monitoring lourd |
| tideways_xhprof | 🟥 À éviter | Profiling — très lent |
| elastic_apm | 🟥 À éviter | Monitoring |
| geos | 🟥 À éviter | Inutile |
| gender | 🟥 À éviter | Inutile |
| gmagick | 🟥 À éviter | Instable |
| mongodb | 🟥 À éviter | DB non utilisée |
| oci8 | 🟥 À éviter | Oracle |
| pgsql | 🟥 À éviter | PostgreSQL |
| sqlsrv | 🟥 À éviter | SQL Server |
| ssh2 | 🟥 À éviter | Peu utile |
| sourceguardian | 🟥 À éviter | Encodeur rarement utile |
| trader | 🟥 À éviter | Finance uniquement |
| uploadprogress | 🟥 À éviter | Instable |
Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop Php pour Prestashop
Si vous gérez plusieurs boutiques PrestaShop sur o2switch, il n’est pas nécessaire d’avoir un php.ini par projet. Un seul fichier placé à la racine (/home/votre_login/php.ini) suffit, à condition de configurer correctement vos dossiers via .htaccess pour que chaque boutique utilise la version PHP qui lui convient.
Ainsi, vous pouvez faire coexister une boutique sous PrestaShop 1.6 avec PHP 7.4 et une autre sous PrestaShop 8 avec PHP 8.2, tout en gardant les performances et la compatibilité intactes.
Pour optimiser vos sites, désactivez les extensions obsolètes et activez les caches natifs comme OPcache ou APCu. Ces réglages améliorent souvent plus la vitesse que le simple choix de la version PHP.
N’oubliez pas de vérifier la version PHP active avec un fichier info.php et de conserver une sauvegarde de votre .htaccess avant chaque modification.
En suivant cette méthode, votre environnement reste stable, sécurisé et facile à maintenir, même avec plusieurs versions de PrestaShop sur le même hébergement.
🧾 Vous gardez la maîtrise de votre site hébergé chez o2switch, avec vos propres règles, vos données, et votre liberté.
🎯 En résumé : on teste, on compare, on reste libre. Et on avance intelligemment, pas à l’aveugle.
Oui, je vous partage ici des solutions gratuites, accessibles à tous.
Non, je ne me tire pas une balle dans le pied.
Pourquoi ? Parce que mon rôle ne s’arrête pas à un simple post.
💡 Il y a des erreurs à ne pas faire quand on se lance dans le commerce en ligne ou qu’on veut encaisser ses ventes simplement. Derrière chaque outil gratuit ou économique, il y a des choix stratégiques à faire, des paramétrages à maîtriser, des règles à respecter.
🎯 Et c’est là que j’interviens : Je suis là pour vous conseiller, vous accompagner avec mon expérience, et vous aider à ne pas perdre du temps, ni de l’argent sur de mauvais choix ou des bricolages inefficaces.
🚀 Mon expertise dans le développement web et le commerce en ligne n’est pas un luxe, c’est un levier pour aller plus vite, plus loin, plus proprement.
Alors oui, à vous de vous organiser, et de me rémunérer à ma juste valeur quand vous avez besoin d’aller plus loin.
👉 Moi, je reste fidèle à ce que je fais depuis le début : vous proposer ce qu’il y a de mieux, dans VOTRE intérêt.