Qu'est-ce que c'est ?
Il s'agit d'une série de réponses sur les avertissements, les erreurs et les notifications que vous pouvez rencontrer en programmant PHP et que vous ne savez pas comment résoudre. Il s'agit également d'un Wiki communautaire, donc tout le monde est invité à participer à l'ajout et à la maintenance de cette liste.
Comment cela se fait-il ?
Des questions telles que "Headers already sent" (En-têtes déjà envoyés) o "Appeler un membre d'un non-objet". apparaissent fréquemment sur Stack Overflow. La cause première de ces questions est toujours la même. Les réponses à ces questions les répètent donc généralement et indiquent ensuite à l'OP la ligne à modifier dans son cas particulier. Ces réponses n'apportent aucune valeur ajoutée au site car elles ne s'appliquent qu'au code particulier de l'utilisateur. Les autres utilisateurs qui rencontrent la même erreur ne peuvent pas facilement en tirer la solution parce qu'elles sont trop localisées. C'est dommage car une fois que l'on a compris la cause première, la correction de l'erreur est triviale. C'est pourquoi cette liste tente d'expliquer la solution d'une manière générale pour qu'elle puisse être appliquée.
Que dois-je faire ici ?
Si votre question a été marquée comme un doublon de celle-ci, veuillez trouver votre message d'erreur ci-dessous et appliquer la correction à votre code. Les réponses contiennent généralement des liens supplémentaires à explorer au cas où la réponse générale ne suffirait pas à éclaircir le problème.
Si vous souhaitez contribuer, veuillez ajouter votre message d'erreur, avertissement ou avis "préféré", un par réponse, une brève description de sa signification (même s'il ne s'agit que de mettre en évidence les termes vers leur page de manuel), une solution possible ou une approche de débogage et une liste des questions-réponses existantes qui sont utiles. N'hésitez pas non plus à améliorer les réponses existantes.
La liste
- On ne voit rien. La page est vide et blanche. (également connu sous le nom de Page blanche/écran de la mort )
- Le code ne s'exécute pas/ce qui ressemble à des parties de mon code PHP est édité
- Avertissement : Impossible de modifier les informations d'en-tête - les en-têtes ont déjà été envoyés
-
Warning : mysql_fetch_array() expects parameter 1 to be resource, boolean given alias
Attention : mysql_fetch_array() : l'argument fourni n'est pas une ressource de résultat MySQL valide - Avertissement : [fonction] s'attend à ce que le paramètre 1 soit une ressource, booléen donné
- Avertissement : [fonction] : échec de l'ouverture du flux : [raison]
- Attention : restriction open_basedir en vigueur
- Avertissement : Division par zéro
- Avertissement : Le décalage de la chaîne de caractères 'XXX' est illégal
- Attention : count() : Le paramètre doit être un tableau ou un objet qui implémente Countable
- [Erreur d'analyse : erreur de syntaxe, '[' inattendu](https://stackoverflow.com/a/22316776)
- Erreur d'analyse : erreur de syntaxe, T_XXX inattendu
- Erreur d'analyse : erreur de syntaxe, T_ENCAPSED_AND_WHITESPACE inattendu
- Erreur d'analyse : erreur de syntaxe, T_PAAMAYIM_NEKUDOTAYIM inattendu
- Erreur d'analyse : erreur de syntaxe, 'require_once' inattendu (T_REQUIRE_ONCE), fonction attendue (T_FUNCTION)
- Erreur d'analyse : erreur de syntaxe, T_VARIABLE inattendu
- Erreur fatale : La taille de mémoire autorisée de XXX octets est épuisée (tentative d'allocation de XXX octets).
- Erreur fatale : Le temps d'exécution maximum de XX secondes a été dépassé
- Erreur fatale : Appel à une fonction membre ... sur un non-objet ou null
- Erreur fatale : Appel à une fonction non définie XXX
- Erreur fatale : Impossible de redéclarer XXX
- Erreur fatale : Impossible d'utiliser la valeur de retour d'une fonction dans le contexte d'écriture
- Erreur fatale : La déclaration de AAA::BBB() doit être compatible avec celle de CCC::BBB() '
- [Le type de retour de AAA::BBB() doit être compatible avec CCC::BBB(), ou le #[ \ReturnTypeWillChange L'attribut [ ] doit être utilisé](https://stackoverflow.com/q/71133749)
- Erreur fatale : Utilisation de $this en dehors du contexte de l'objet
- Erreur fatale : L'objet de la classe Closure n'a pas pu être converti en chaîne de caractères.
- Erreur fatale : Constante de classe non définie
- Erreur fatale : Uncaught TypeError : L'argument #n doit être de type x, y donné
- Avis : Conversion d'un tableau en chaîne de caractères
- Avis : Erreur de tentative d'obtention d'une propriété d'un non-objet
- Avis : Variable ou propriété non définie
- "Notice : Index non défini", ou "Avertissement : Clé de tableau non définie"
- Avis : Offset non défini XXX [Référence]
- Avis : Chaîne de caractères non initialisée offset : XXX
- Avis : Utilisation de la constante indéfinie XXX - supposée 'XXX' / Erreur : Constante non définie XXX
- MySQL : Vous avez une erreur dans votre syntaxe SQL ; consultez le manuel correspondant à votre version du serveur MySQL pour connaître la bonne syntaxe à utiliser près de ... à la ligne ...
- Normes strictes : Méthode non statique [<classe>::<méthode>] ne doit pas être appelé statiquement
- Attention : la fonction s'attend à ce que le paramètre X soit un booléen/une chaîne/un entier.
- Erreur HTTP 500 - Erreur interne du serveur
- Déclassé : La syntaxe d'accès aux tableaux et aux chaînes de caractères avec accolades est obsolète.
Voir aussi
8 votes
Par ailleurs, pour déplacer la discussion hors des commentaires, veuillez vous rendre à l'adresse suivante este question méta
2 votes
X-Ref : Erreurs d'analyse et de syntaxe en PHP ; et comment les résoudre ? Ailleurs : Erreurs PHP courantes et solutions
1 votes
Voir ceci coding.smashingmagazine.com/2011/11/30/ et ceci aussi mediawiki.org/wiki/Manuel:Erreurs_et_symptômes
1 votes
X-Ref : Corriger les erreurs de PHP (mai 2013 ; par Jason McCreary)