PHP
Compilatie van fouten en waarschuwingen
Zoeken…
Opmerking: ongedefinieerde index
Uiterlijk :
Proberen toegang te krijgen tot een array met een sleutel die niet bestaat in de array
Mogelijke oplossing :
Controleer de beschikbaarheid voordat u deze opent. Gebruik:
Waarschuwing: kan headerinformatie niet wijzigen - headers zijn al verzonden
Uiterlijk :
Gebeurt wanneer uw script een HTTP-header naar de client probeert te verzenden, maar er al eerder uitvoer was, waardoor headers al naar de client zijn verzonden.
Mogelijke oorzaken :
Afdrukken, echo: uitvoer van afdruk- en echo-instructies maakt de mogelijkheid om HTTP-headers te verzenden beëindigd. De applicatiestroom moet worden geherstructureerd om dat te voorkomen.
Ruwe HTML-gebieden: niet- gepaarde HTML-secties in een .php-bestand worden ook direct uitgevoerd. Scriptvoorwaarden die een aanroep van
header()
activeren, moeten vóór onbewerkte blokken worden genoteerd.<!DOCTYPE html> <?php // Too late for headers already.
Witruimte vóór
<?php
voor waarschuwingen "script.php regel 1": als de waarschuwing verwijst naar uitvoer in regel 1, dan leidt dit meestal witruimte, tekst of HTML vóór het<?php
token openen.<?php # There's a SINGLE space/newline before <? - Which already seals it.
Referentie van SO antwoord door Mario
Parse-fout: syntaxisfout, onverwachte T_PAAMAYIM_NEKUDOTAYIM
Uiterlijk:
"Paamayim Nekudotayim" betekent "dubbele dikke darm" in het Hebreeuws; deze fout verwijst dus naar het onjuiste gebruik van de dubbele-dubbelpuntoperator (: ::
. De fout wordt meestal veroorzaakt door een poging om een statische methode aan te roepen die in feite niet statisch is.
Mogelijke oplossing:
$classname::doMethod();
Als de bovenstaande code deze fout veroorzaakt, moet u waarschijnlijk gewoon de manier wijzigen waarop u de methode aanroept:
$classname->doMethod();
In het laatste voorbeeld wordt ervan uitgegaan dat $classname
een instantie van een klasse is en de doMethod()
geen statische methode van die klasse.