« Parse error: syntax error, unexpected » : corriger une erreur de syntaxe PHP

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

BloquantErreurs PHP
Le message affiché
Parse error: syntax error, unexpected token "}"
Autres formulations du même message 4
  • Parse error: syntax error, unexpected '}', expecting ',' or ';'
  • PHP Parse error: syntax error, unexpected end of file
  • Parse error: syntax error, unexpected variable "$args"
  • Parse error: Unclosed '{' on line 12

PHP n’a pas pu lire un fichier parce que son code est mal écrit : un point-virgule, une accolade ou un guillemet manque, ou un morceau de code a été collé au mauvais endroit. Tant que la faute reste, PHP refuse d’exécuter le fichier, et si c’est le functions.php du thème, tout le site tombe. Le message donne le fichier et la ligne où PHP a buté.

Pourquoi cette erreur apparaît

  • Un extrait de code collé dans functions.php incomplet, ou placé au milieu d’une fonction existante.
  • Un point-virgule, une parenthèse ou une accolade oubliés lors d’une modification à la main.
  • Des guillemets typographiques copiés depuis une page web ou un traitement de texte à la place des guillemets droits du code.
  • Une extension écrite pour une version récente de PHP installée sur un serveur qui utilise une version plus ancienne.
  • Un fichier tronqué lors d’un transfert FTP ou d’une mise à jour interrompue.

Comment corriger le problème

Annuler la dernière modification

Si vous venez de coller ou de modifier du code, c’est lui le suspect numéro un. Remettez en place, par FTP ou avec le gestionnaire de fichiers de l’hébergeur, la copie du fichier d’avant la modification. Si le code a été ajouté avec une extension de snippets, désactivez l’extrait fautif : la plupart de ces extensions prévoient un mode sans échec pour cela.

Aller à la ligne indiquée

Ouvrez le fichier cité avec un éditeur de code (Notepad++, VS Code…) et allez au numéro de ligne. La faute se trouve souvent juste avant : une ligne précédente qui ne finit pas par un point-virgule, une parenthèse restée ouverte. Avec « unexpected end of file » ou « Unclosed ‘{‘ », cherchez plus haut une accolade ouvrante jamais refermée.

Déjouer les pièges du copier-coller

Remplacez les guillemets courbes (’ “ ”) par des guillemets droits ‘ et « . Si l’extrait commence par <?php alors que le fichier est déjà en PHP, retirez cette balise. Ajoutez toujours un nouveau code à la fin de functions.php, jamais à l’intérieur d’une fonction existante.

Vérifier la version de PHP

Si le fichier fautif appartient à une extension que vous n’avez pas touchée et que l’erreur a suivi son installation ou sa mise à jour, elle utilise peut-être une syntaxe que votre version de PHP ne connaît pas. Comparez la version de PHP demandée sur la page de l’extension avec celle de votre hébergement.

Tester le fichier avant de le remettre en ligne

Avec un accès SSH, la commande php -l contrôle la syntaxe d’un fichier sans l’exécuter. Elle doit répondre « No syntax errors detected » avant que vous replaciez le fichier sur le site.

php -l wp-content/themes/mon-theme/functions.php

Avant de corriger, téléchargez une copie du fichier tel qu’il est : si votre correction aggrave les choses, vous pourrez revenir au point de départ.

Le guide completErreur critique WordPress : la méthode pour sortir de l’écran blanc sans paniquer 💥

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