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.
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