Tach!
Die müssen (nur) innerhalb eine Dokuments konsistent sein (wobei das letzte ?> am Dateiende weggelassen werden kann).
Innerhalb der einzelnen Dokumente oder des Gesamtdokuments?
Jedes einzeln. Es gibt kein Gesamt-Dokument. Der Code wird nicht erst zusammengefügt und dann geparst. Das geht schon deshalb nicht, weil man mit Bedingungen und mit Schleifen die Dateien in beliebiger erst zur Laufzeit bekannter Anzahl einbinden kann.
a.shtml ist konsistent,
b.shtml ist konsistent
Das ?> vor dem Dateiende kann wegbleiben. Das ist sogar ziemlich sinnvoll, weil sich dann danach kein Whitespace mehr einschleichen kann, das bereits die Ausgabe einleitet, woraufhin man keine HTTP-Header mehr ändern kann.
Es kommt aber der Fehler:
Parse error: syntax error, unexpected $end in ....
Du hast vermutlich einen Klammern- oder Stringfehler. Da ist irgendeine Struktur nicht geschlossen. Wenn mittendrin ein ?> fehlen würde, dann hätte sich PHP am HTML folgenden gestört.
dedlfix.