dedlfix: unexpected T_VARIABLE

Beitrag lesen

Tach!

Die Byte Order Mark und die wird von modernen Editoren gewöhnlich ausgeblendet. Editoren bieten jedoch die Möglichkeit, beim Speichern einer Textdatei mit UTF-8-Kodierung, anzugeben, ob die Datei mit oder ohne BOM gespeichert werden soll. Guck Dir das mal an, ansonsten könntest Du über derartige Probleme öfter stolpern. In Fakt: UTF-8 ist ok, aber ohne BOM speichern.

Wenn die UTF-8-BOM korrekt platziert ist, dann steht sie als die ersten drei Bytes im Dokument und damit steht sie vor dem <?php. Sie kann so nicht für den Syntaxfehler im PHP-Teil verantwortlich sein. Das vorliegende Problem kann sein, dass andere Whitespace-Zeichen an Stellen gestanden haben, an denen Leerzeichen hätten stehen sollen. Das hätte auch eine falsch platzierte BOM sein können. Die Frage ist aber, ob Editoren solche nicht am Anfang stehenden BOMs entfernen oder nicht, wenn für den eigentlichen Zweck nur die am Anfang relevant ist.

Der Tipp, ohne BOM zu speichern, hilft für andere Fälle. Ausgaben inklusive BOMs, die vor einem <?php stehen, verhindern das Senden von HTTP-Headern. Die Fehlermeldung dazu ist aber eine andere als ein PHP-Syntax-Fehler.

dedlfix.