


Erreur de syntaxe PHP : comment y remédier ?
Quelle est l'erreur grammaticale??
PHP est un langage de programmation impératif de style C. Il a des règles de syntaxe strictes et ne peut pas récupérer lorsqu'il rencontre un symbole ou un identifiant mal placé. Il ne peut pas deviner vos intentions de programmation.
Meilleurs conseils
Il y a quelques précautions de base que vous pouvez toujours prendre?:
- Utilisez une indentation de code appropriée, ou adoptez n'importe quel bon style de codage . La lisibilité aide à éviter les exceptions.
- Utilisez un IDE PHP ou un éditeur avec coloration syntaxique . Cela aide également à l’équilibre entre supports et supports.
- Lisez attentivement les références linguistiques et les exemples dans le manuel. Lisez-le deux fois pour acquérir un certain niveau de ma?trise.
Comment interpréter les erreurs de l'analyseur
Un message d'erreur de syntaxe typique est le suivant?:
Erreur d'analyse?: erreur de syntaxe, inattendue dans la ligne 217 du fichier.php T_STRING, nécessite ';'
qui répertorie les possibles emplacements des erreurs de syntaxe. Voir le Nom du fichier et le Numéro de ligne mentionnés. Un en-tête comme
T_STRING explique quel symbole l'analyseur/tokenizer n'a finalement pas réussi à gérer. Cependant, ce n’est pas nécessairement la cause de l’erreur de syntaxe.
Il est important de regarder également les lignes de code qui précèdent . Souvent, les erreurs grammaticales ne sont que des erreurs mineures survenues plus t?t. Le numéro de ligne d'erreur est l'endroit où l'analyseur abandonne finalement la gestion de toutes les erreurs.
Corriger les erreurs de grammaire
Il existe de nombreuses fa?ons de réduire et de résoudre les problèmes de grammaire.
-
Ouvrez le fichier source mentionné. Consultez la ligne de code mentionnée.
- Pour les cordes emballées et les opérateurs égarés, vous pouvez généralement y trouver le coupable.
- Lisez la ligne de gauche à droite et imaginez ce que fait chaque symbole.
-
Plus couramment, il faut regarder la ligne qui précède .
- En particulier, le point-virgule est manquant?; le point-virgule est manquant à la fin d'une ligne/instruction précédente. (Au moins du point de vue du style)
- Si le bloc de code { } n'est pas correctement fermé ou imbriqué, vous devrez peut-être approfondir le code source. Pour ce faire, utilisez une indentation de code appropriée.
-
Découvrez la Coloration syntaxique?!
- Les cha?nes, variables et constantes doivent toutes avoir des couleurs différentes.
- les opérateurs -*/ doivent également être colorés différemment, sinon ils pourraient être dans le mauvais contexte.
- Si vous voyez un ombrage de cha?ne s'étendre trop loin ou trop court, alors vous avez trouvé un marqueur de cha?ne " ou ' de fermeture non échappé ou manquant.
- Si vous voyez ensuite deux signes de ponctuation de la même couleur les uns envers les autres peuvent aussi signifier des problèmes. Habituellement, si ce n'est pas le cas, -- ou des parenthèses suivant un opérateur, l'opérateur est seul. La plupart du temps, il est incorrect que deux cha?nes/identifiants soient directement adjacents aux espaces
- Vos amis . suivez n’importe quel style de codage . > Scinder temporairement les longues lignes
-
Vous pouvez librement ajouter des nouvelles lignes
- entre les opérateurs ou les constantes et les cha?nes et l'analyseur le fera. Au lieu de regarder du code très long, vous pouvez le spécifier. numéros de ligne pour les erreurs d’analyse. Débarrassez-vous des symboles de syntaxe manquants ou égarés.
- Divisez les instructions if complexes en conditions if différentes ou imbriquées. Pour les formules mathématiques ou les cha?nes logiques longues, utilisez des variables temporaires (meilleure lisibilité). = moins de bugs)
- Ajoutez des sauts de ligne entre?:
-
Vous pouvez facilement identifier comme code correct,
- La partie dont vous n'êtes pas s?r,
- et la ligne dont se plaint l'analyseur sont divisées par
aident vraiment à trouver la source des erreurs de syntaxe
commentez
le code problématique - Si vous ne parvenez pas à déterminer la source du code problématique. le problème, commencez à commenter (c'est-à-dire à supprimer temporairement) le code block.
Dès que vous résolvez l'erreur d'analyse, vous trouverez la source du problème
Parfois, vous souhaitez supprimer temporairement le bloc fonction/méthode complet. et erreur d'indentation de code)- comme Si vous ne parvenez pas à résoudre le problème de syntaxe, essayez de réécrire les sections commentées à partir de zéro
- pour éviter certaines structures syntaxiques déroutantes en tant que débutant.
" ou '. Les guillemets de cha?ne ne correspondent pas et il y a des guillemets non échappés -
Oubliez l'opérateur, en particulier l'opérateur
- pour la concaténation. Comptez-les dans les lignes signalées. Leurs quantités sont-elles égales ?
- Si vous faites dispara?tre un problème, mais que d'autres problèmes apparaissent dans le code ci-dessous, vous êtes pour la plupart sur la bonne voie.
- Si une nouvelle erreur de syntaxe appara?t dans la même ligne après la modification, vos tentatives de modification peuvent également échouer. (Mais pas toujours)
-
Si vous ne parvenez pas à le réparer, restaurez une sauvegarde de votre code qui fonctionnait auparavant.
- Adopter le système de contr?le de version du code source. Vous pouvez toujours voir la différence entre la corruption et la dernière version fonctionnelle. Cela pourrait expliquer quel est le problème de syntaxe.
-
Caractères Unicode parasites invisibles ?: Dans certains cas, vous devez utiliser un éditeur hexadécimal ou un autre éditeur pour le code source/la visionneuse. Certains problèmes ne peuvent pas être découverts en examinant le code.
- Essayez grep --color -P -n "[x80-xFF]" file.php comme première étape pour trouver des symboles non-ASCII.
- En particulier, les nomenclatures, les espaces de largeur nulle ou les espaces insécables et les guillemets intelligents se retrouvent souvent dans le code source. -
-
Notez le type de saut de ligne enregistré dans le fichier.
- PHP ne prend en charge que le caractère de saut de ligne n et ne prend pas en charge le caractère de retour chariot r.
- C'est parfois un problème uniquement pour les utilisateurs de MacOS (même sous OS X qui est utilisé pour mal configurer l'éditeur).
- Lors de l'utilisation de commentaires // ou # sur une seule ligne, cela ne pose généralement des problèmes que lorsque les nouvelles lignes sont ignorées. Les commentaires multilignes /.../ interfèrent rarement avec l'analyseur lorsque les nouvelles lignes sont ignorées.
-
Si votre erreur de grammaire n'est pas transmise sur le réseau?: Il y a une erreur de syntaxe sur votre machine. Mais publier exactement le même fichier en ligne ne se reproduira plus. Cela ne peut signifier qu'une des deux choses suivantes?:
- Vous regardez le mauvais fichier?!
- Ou votre code contient de l'Unicode parasite invisible (voir ci-dessus). Vous pouvez le découvrir facilement?: copiez simplement le code du formulaire Web dans votre éditeur de texte.
-
Vérifiez votre version PHP. Toutes les constructions de syntaxe ne sont pas nécessairement disponibles sur tous les serveurs.
- Le php -v de l'interpréteur de ligne de commande
- appelé via le serveur Web
Ce ne sont pas nécessairement les mêmes . Surtout lorsque vous utilisez des cadres, vous devez les faire correspondre.
- N'utilisez pas de mots-clés réservés PHP comme identifiants pour les fonctions/méthodes, classes ou constantes.
- L'expérimentation est votre dernier recours.
Si tout le reste échoue, vous pouvez toujours rechercher votre message d'erreur sur le Web. Les symboles de syntaxe ne sont pas facilement consultables (Stack Overflow lui-même est indexé par SymbolHound). Cela peut donc vous prendre plusieurs pages pour trouver les informations pertinentes.
Lecture approfondie
- "Les bases du débogage PHP" de David Sklar
- "Réparer les erreurs PHP" de Jason McCreary
- "Erreurs PHP de Mario Lurig—— 10 erreurs courantes 》
- 《PHP commun Erreurs et solutions》
- Comment dépanner et réparer votre site Web WordPress
- Guide du concepteur sur les messages d'erreur PHP - Smashing Magazine
écran blanc mort
Si votre site Web est tout simplement vide, l'erreur habituelle est une erreur de syntaxe. Activez leur affichage en utilisant :
- error_reporting = E_ALL
- display_errors = 1
généralement dans votre php.ini, ou dans le cas de mod_php Via . htaccess et même pour les paramètres FastCGI via .user.ini.
Il est trop tard pour l'activer dans un script défectueux car PHP ne peut même pas interpréter/exécuter la première ligne. Une solution rapide consiste à créer un script wrapper comme test.php:
puis à appeler le code défectueux en accédant à ce script wrapper.
Il est également utile d'activer le error_log de PHP et de consulter le error.log du serveur Web lorsque le script plante et re?oit une réponse HTTP 500.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les problèmes et les solutions courants pour la portée de la variable PHP incluent: 1. La variable globale ne peut pas être accessible dans la fonction, et elle doit être transmise en utilisant le mot-clé ou le paramètre global; 2. La variable statique est déclarée avec statique, et elle n'est initialisée qu'une seule fois et la valeur est maintenue entre plusieurs appels; 3. Des variables hyperglobales telles que $ _get et $ _post peuvent être utilisées directement dans n'importe quelle portée, mais vous devez faire attention au filtrage s?r; 4. Les fonctions anonymes doivent introduire des variables de portée parents via le mot clé Utiliser, et lorsque vous modifiez les variables externes, vous devez passer une référence. La ma?trise de ces règles peut aider à éviter les erreurs et à améliorer la stabilité du code.

Pour gérer en toute sécurité les téléchargements de fichiers PHP, vous devez vérifier la source et taper, contr?ler le nom et le chemin du fichier, définir les restrictions du serveur et traiter les fichiers multimédias deux fois. 1. Vérifiez la source de téléchargement pour empêcher le CSRF via le jeton et détecter le type de mime réel via FINFO_FILE en utilisant le contr?le de liste blanche; 2. Renommez le fichier à une cha?ne aléatoire et déterminez l'extension pour la stocker dans un répertoire non Web en fonction du type de détection; 3. La configuration PHP limite la taille de téléchargement et le répertoire temporaire Nginx / Apache interdit l'accès au répertoire de téléchargement; 4. La bibliothèque GD résait les images pour effacer des données malveillantes potentielles.

Il existe trois méthodes courantes pour le code de commentaire PHP: 1. Utiliser // ou # pour bloquer une ligne de code, et il est recommandé d'utiliser //; 2. Utiliser /.../ pour envelopper des blocs de code avec plusieurs lignes, qui ne peuvent pas être imbriquées mais peuvent être croisées; 3. Compétences combinées Commentaires tels que l'utilisation / if () {} / pour contr?ler les blocs logiques, ou pour améliorer l'efficacité avec les touches de raccourci de l'éditeur, vous devez prêter attention aux symboles de fermeture et éviter les nidification lorsque vous les utilisez.

AgeneratorInphpisamemory-EfficientwaytoterateOrgedatasetsByyieldingValuesonEatatimeIntedofreturningThemallAtonce.1.GeneratorsUsEtheieldKeywordToproduceValuesondemand, ReducingMemoryUsage.2.TheyAreusefulForHandlingBigloops, ReadingLargeFiles, OR OR.

La clé pour rédiger des commentaires PHP est de clarifier l'objectif et les spécifications. Les commentaires devraient expliquer "pourquoi" plut?t que "ce qui a été fait", en évitant la redondance ou trop de simplicité. 1. Utilisez un format unifié, tel que DocBlock (/ * /) pour les descriptions de classe et de méthode afin d'améliorer la lisibilité et la compatibilité des outils; 2. Soulignez les raisons de la logique, telles que pourquoi les sauts JS doivent être sortis manuellement; 3. Ajoutez une description d'une vue d'ensemble avant le code complexe, décrivez le processus dans les étapes et aidez à comprendre l'idée globale; 4. Utilisez TODO et FIXME Rationalement pour marquer des éléments et des problèmes de taches pour faciliter le suivi et la collaboration ultérieurs. De bonnes annotations peuvent réduire les co?ts de communication et améliorer l'efficacité de la maintenance du code.

Toléarnphpeffective, startBySettingUpAlocalServerERironmentUsingToolsLILYXAMPPANDACODEDITERLIGHILLEVSCODE.1) INSTRUSITIONXAMPFORAPACHE, MYSQL, ANDPHP.2) USACODEDEDITORFORSYNTAXSUPPORT.3)

En PHP, vous pouvez utiliser des crochets ou des accolades bouclées pour obtenir des caractères d'index spécifiques à la cha?ne, mais les crochets sont recommandés; L'index commence à partir de 0 et l'accès à l'extérieur de la plage renvoie une valeur nulle et ne peut pas se voir attribuer une valeur; MB_substr est nécessaire pour gérer les caractères multi-octets. Par exemple: $ str = "Hello"; echo $ str [0]; sortie h; et les caractères chinois tels que MB_substr ($ str, 1,1) doivent obtenir le résultat correct; Dans les applications réelles, la longueur de la cha?ne doit être vérifiée avant le boucle, les cha?nes dynamiques doivent être vérifiées pour la validité et les projets multilingues recommandent d'utiliser des fonctions de sécurité multi-octets uniformément.

Toinstallphpquickly, usexAmpPonWindowsorHomebrewonMacos.1.onwindows, downloadAndInstallxAmppp, selectComponents, startapache et placefilesInhtdocs.2.
