— Publié le 15 juin 2019 — Modifié le 9 mars 2021
« Fatal error: Maximum execution time of 30 seconds exceeded » ! Vous avez vu ce message sur votre écran quand vous mettiez à jour votre thème WordPress ou un plugin ?
Ce type d’erreur apparaît quand un code PHP prend de trop de temps à s’éxecuter et la durée limite autorisée par votre serveur d’hébergement est atteinte.
Dans cet article, nous allons vous expliquer comment contourner cette limite.
Pourquoi cette erreur apparaît ?
WordPress est principalement codé en PHP. Pour protéger les serveurs web, ce code PHP doit s’exécuter dans une certaine limite de temps. Ce délai varie selon les hébergeurs mais la plupart du temps, il est fixé entre 30 et 60 secondes, ce qui est en général suffisamment long pour laisser le temps à un bon code PHP de s’éxecuter.
Quand un script atteint cette limite, vous obtenez donc le message : Maximum Execution Time Exceeded.
Modifier le délai maximum dans le fichier .htaccess
Même si le message est intitulé « Fatal error », c’est l’une des erreurs que l’on rencontre le plus fréquemment sur WordPress, et on peut facilement la résoudre.
Selon quand et où le message apparaît, WordPress peut montrer à vos visiteurs le message suivant : The site is experiencing technical difficulties.
Dans WordPress version 5.2, une nouvelle fonctionnalité est apparue : un email vous est envoyé pour vous dire quel plugin a généré l’erreur (si cela vient d’un plugin).
Cet email contient un lien spécial qui va vous permettre de vous logguer à WordPress avec le « Recovery mode ».
Une fois connecté à votre tableau de bord, vous pouvez simplement désactiver ou supprimer le plugin qui a causé l’erreur. Si vous ne le souhaitez pas, nous allons étendre le délai d’exécution du code en allant modifier le fichier .htaccess en y ajoutant une ligne de code.
Connectez-vous donc à votre FTP préféré, nous, nous travaillons avec FileZilla. Vous verrez votre fichier .htaccess à la racine de votre site, au même niveau que les dossiers /wp-content/, /wp-includes/ et /wp-admin/.
Une fois le fichier localisé, faites un clic droit et cliquez sur View / Edit. Le fichier va s’ouvrir dans votre éditeur de texte. Ajoutez ce morceau de code juste avant # END WordPress :
Puis sauvegardez. Ce code dit qu’on a étendu à 300 secondes, soit 5 minutes le temps d’exécution du code PHP. Regardez sur votre site si le message d’erreur a disparu. S’il est toujours là, passez à 600 secondes.
Modifier le délai maximum dans le fichier wp-config
Si vous préférez agir dans le fichier wp-config ou si la première méthode ne fonctionne pas, voici une solution alternative.
Toujours via votre FTP, éditez le fichier wp-config.php et ajouter le code suivant :
Et voilà !
Conclusion
Voilà, nous espérons que cet article vous aura permis de gagner du temps et de finir vos mises à jour.
Si vous avez des questions, posez-les en commentaires ci-dessous.
Et n’hésitez pas à partager vos propres retours d’expérience !
Bonjour,
Mais ce délai d’exécution ne dépend-t-il pas de l’hébergeur ?
Merci,
Bonne journée
Bonjour,
Si mais certaines commandes du fichier .htaccess permettent de « dialoguer » avec l’hébergeur, pour changer ce délai ou le poids maximum de ressources à charger dans WordPress.
Bonne journée !
Bonjour,
Est ce qu’il y a un endroit particulier où colle cette ligne de code ? Car j’ai testé et j’ai toujours le même problème d e temps d’exécution même avec 600s
Bonjour Aminata,
Il faut le mettre avant # END WordPress (je vais modifier l’article). Et si ça ne fonctionne pas, je vais ajouter la seconde méthode qui est d’ajouter ceci dans le fichier wp-config.php : set_time_limit(600);
Est-ce qu’on peut laisser la valeur 300 une fois le pb résolu ou faut-il revenir à une valeur de disons 60? En gros y a-t-il une « bonne » valeur? Merci!
Bonjour Emmanuel,
Personnellement je reviens à la valeur initiale car elle est suffisante dans 99% des cas mais vous pouvez laisser l’autre, ça ne changera rien.