« Maximum execution time of 30 seconds exceeded » : temps d’exécution PHP dépassé

Fiche du décodeur d'erreurs, mise à jour le 12 octobre 2026

GênantErreurs PHP
Le message affiché
Fatal error: Maximum execution time of 30 seconds exceeded
Autres formulations du même message 2
  • PHP Fatal error: Maximum execution time of 60 seconds exceeded
  • Fatal error: Maximum execution time of 1 second exceeded

PHP limite la durée pendant laquelle un script peut travailler : 30 secondes par défaut, parfois plus selon l’hébergeur. Quand une tâche longue dépasse ce délai (mise à jour, import, sauvegarde, régénération d’images, appel à un service distant trop lent), PHP l’interrompt. Le nombre affiché est cette limite, réglée par max_execution_time, et le fichier cité est simplement celui où PHP s’est arrêté.

Pourquoi cette erreur apparaît

  • Une opération longue lancée depuis le navigateur : import de produits, sauvegarde, mise à jour de plusieurs extensions, régénération des miniatures.
  • Un appel à un service extérieur (licence, API, flux) qui répond lentement ou pas du tout.
  • Des requêtes lentes sur une base de données volumineuse ou mal optimisée.
  • Une limite réglée bas par l’hébergeur.
  • Une boucle sans fin dans une extension ou un code personnalisé.

Comment corriger le problème

Relancer l’opération par petits lots

Si l’erreur est survenue pendant un import, un export ou une mise à jour groupée, recommencez en plus petit : quelques extensions à la fois, un fichier d’import découpé en plusieurs morceaux. Si une mise à jour coupée laisse ensuite le site bloqué sur un message de maintenance, consultez la fiche qui traite ce cas.

Regarder où PHP s’est arrêté

Un chemin dans wp-content/plugins pointe vers l’extension qui travaillait au moment de la coupure. Un fichier lié aux requêtes HTTP de WordPress (dossier Requests, class-wp-http.php) signale plutôt un service distant qui tarde à répondre : désactivez l’extension qui l’interroge pour le vérifier.

Augmenter max_execution_time

Dans l’espace client de l’hébergement, rubrique PHP, passez max_execution_time à 120 ou 300 secondes. Quand l’hébergeur accepte les fichiers .user.ini, cette ligne dans un fichier de ce nom à la racine du site suffit ; PHP ne le relit que périodiquement, patientez quelques minutes avant de tester. Évitez la directive php_value dans .htaccess : sur beaucoup de serveurs actuels, elle provoque une erreur 500.

max_execution_time = 300

Repérer une autre limite de temps

Le serveur web ou le proxy de l’hébergeur ont aussi leur propre délai. Si, après l’augmentation, la page finit sur une erreur 504 au lieu de ce message, c’est cette autre limite qui coupe la requête, et seul l’hébergeur peut la relever.

Passer les tâches lourdes en ligne de commande

Avec un accès SSH, WP-CLI exécute les mêmes opérations hors du navigateur. PHP en ligne de commande n’applique pas de limite de temps par défaut, ce qui convient aux mises à jour groupées et à la régénération des images.

wp plugin update --all
wp media regenerate --yes

Chercher la lenteur à la source

Si une page ordinaire atteint la limite, augmenter le délai masque le problème. Query Monitor montre les requêtes SQL lentes et les appels HTTP qui traînent. Le journal des requêtes lentes de MySQL, quand l’hébergeur y donne accès, complète l’enquête.

Avant de relancer une mise à jour ou un import interrompu, sauvegardez les fichiers et la base : une opération coupée en plein milieu peut laisser des données à moitié écrites.

Le guide completComment corriger une erreur 500 sur mon site WordPress WooCommerce

Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.

Ouvrir le décodeur