Erreur 405 Method Not Allowed sur la page produit PrestaShop : diagnostic et solution
Résolvez l'erreur 405 Method Not Allowed lors de la modification d'un produit PrestaShop. Cause fréquente : incompatibilité PHP. Guide complet de diagnostic.
En bref : L'erreur 405 Method Not Allowed lors de la modification d'un produit PrestaShop est le plus souvent causée par une incompatibilité entre la version de PHP et celle de PrestaShop. La solution consiste à vérifier et corriger la version PHP sur votre hébergement, puis à vider le cache.
Comprendre l'erreur 405 Method Not Allowed dans PrestaShop
L'erreur HTTP 405 Method Not Allowed survient lorsque le serveur web refuse une méthode HTTP (POST, PUT, PATCH) pourtant légitime. Dans le back-office PrestaShop, elle se manifeste typiquement lors de la sauvegarde d'une fiche produit : vous cliquez sur "Enregistrer", et le serveur rejette la requête.
Cette erreur est particulièrement déroutante car elle ne provient pas directement de PrestaShop, mais de la couche serveur située en amont. Et dans la grande majorité des cas que je rencontre en intervention, la cause racine est une incompatibilité entre la version de PHP et celle de PrestaShop.
Pourquoi une mauvaise version de PHP provoque une erreur 405
Quand PHP ne correspond pas à la version attendue par PrestaShop, le comportement du CMS devient imprévisible. Certaines fonctions internes échouent silencieusement, des modules système ne se chargent pas correctement, et le routage des requêtes HTTP peut être altéré.
Concrètement, voici ce qui se passe :
- **PrestaShop envoie une requête POST** pour sauvegarder le produit
- **Le contrôleur Symfony échoue** à traiter la requête à cause d'une fonction PHP dépréciée ou absente
- **Le serveur web interprète l'échec** comme une méthode non autorisée et renvoie un code 405
- Accédez à **MultiPHP Manager** ou **Sélectionner une version de PHP**
- Sélectionnez votre domaine
- Choisissez la version PHP compatible
- Validez et attendez la propagation (quelques minutes)
- **Risque de casse** lors d'un upgrade PHP automatique
- **Impossibilité de rester sur une version stable** le temps de planifier une migration
- **Performances bridées** par des configurations mutualisées non optimisées
- **Documentez votre stack technique** : notez la version PHP, MySQL et PrestaShop utilisées. Cela accélère considérablement le diagnostic.
- **Testez avant de migrer** : avant tout changement de version PHP, dupliquez votre site sur un environnement de staging.
- **Surveillez les logs** : activez la journalisation des erreurs PHP et consultez-la régulièrement.
- **Planifiez les mises à jour** : ne laissez pas votre hébergeur imposer un changement de PHP sans avoir validé la compatibilité.
C'est un faux positif : le problème n'est pas la méthode HTTP, mais l'incapacité du serveur à la traiter correctement.
Matrice de compatibilité PHP / PrestaShop
Avant toute intervention, vérifiez que votre couple PHP/PrestaShop est correct :
La documentation officielle reste la référence : consultez toujours la page des prérequis système correspondant à votre version.
Diagnostic étape par étape
Étape 1 : Identifier votre version de PHP
Depuis le back-office PrestaShop, rendez-vous dans Paramètres avancés > Informations. La version PHP y est affichée.
Si le back-office est inaccessible, créez un fichier temporaire à la racine de votre hébergement :
<?php
// Fichier phpinfo.php — À SUPPRIMER après vérification
phpinfo();
Accédez-y via https://votre-site.com/phpinfo.php, notez la version, puis supprimez immédiatement ce fichier (il expose des informations sensibles).
Étape 2 : Vérifier la compatibilité
Comparez votre version PHP avec le tableau ci-dessus. Si elle est hors plage, vous avez identifié la cause.
Étape 3 : Changer la version de PHP
La procédure dépend de votre hébergeur :
Sur un hébergement mutualisé avec cPanel :
Sur un serveur dédié ou VPS :
# Installer la version PHP souhaitée (exemple : PHP 8.1 sur Ubuntu)
sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-zip
# Mettre à jour la configuration Nginx ou Apache pour pointer vers le bon socket
# Nginx : fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
# Apache : SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost/"
# Redémarrer le serveur web
sudo systemctl restart nginx # ou apache2
Étape 4 : Vider le cache PrestaShop
Après le changement de version PHP, videz systématiquement le cache :
# Supprimer le cache Symfony
rm -rf var/cache/prod var/cache/dev
# Ou depuis le back-office :
# Paramètres avancés > Performances > Vider le cache
Le piège des hébergeurs qui imposent la version de PHP
Certains hébergeurs low-cost ne permettent pas de choisir librement sa version de PHP, ou imposent des mises à jour automatiques sans préavis. C'est une situation dangereuse pour un site e-commerce :
Mon conseil : choisissez un hébergeur qui vous laisse le contrôle total sur la version PHP. Des solutions comme o2switch ou OVH Web Cloud offrent cette flexibilité à un coût raisonnable, avec des performances nettement supérieures aux hébergeurs d'entrée de gamme.
Autres causes possibles de l'erreur 405
Si la version PHP est correcte, explorez ces pistes :
Règles de réécriture mal configurées
Un .htaccess mal formé ou un conflit de règles de réécriture peut bloquer les requêtes POST :
# Vérifiez que votre .htaccess ne contient pas de règle restrictive
# comme une redirection qui transforme un POST en GET
RewriteRule ^(.*)$ index.php [L]
# Le flag [L] seul est correct — évitez [R,L] qui provoque une redirection
Pare-feu ou module de sécurité serveur
ModSecurity ou un WAF peuvent bloquer certaines requêtes POST qu'ils jugent suspectes. Vérifiez les logs d'erreur Apache/Nginx :
# Apache
tail -f /var/log/apache2/error.log
# Nginx
tail -f /var/log/nginx/error.log
Module PrestaShop défectueux
Désactivez vos modules tiers un par un pour identifier un éventuel conflit. Commencez par les modules de sécurité et de cache, qui interceptent le plus souvent les requêtes HTTP.
Prévention : bonnes pratiques pour éviter les erreurs 405
Questions fréquentes
Tout ce que vous devez savoir sur ce sujet.
Un projet PrestaShop ?
Discutons-en directement.
193 projets livrés
Lire sur le blog

Alexandre Carette
Expert PrestaShop & Architecture E-commerce
Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.