Hi!
Den Workaround, das man vor und hinter den PHP-Tag <?php ... ?> kein Byte schreiben darf, kann ich nur schwer akzeptieren.
Dann hast mit PHP das falsche Werkzeug ausgesucht. Es ist vorrangig als Template-Sprache für HTML-Dokumente erfunden worden, und so hat man nun mal das Problem, sich nicht im PHP-Modus zu befinden, wenn das Script startet und PHP in <?php ?> einrahmen zu müssen.
Da hast du zum guten Teil recht (ich habe mir die von dir vorgeschlagenen Dokus von meiner Mutter vorlesen lassen). Im Handbuch finde ich im Kapitel zum Komandozeilenaufruf aber keinen "das ist Pfui Hinweis" ... die Entwickler sehen also durchaus der Aufruf in Shellumgebung vor. Folglich müsste das beschriebene Problem auch ein Allerweltsproblem sein ...
Grund: Leerzeichen, Tab, etc. sind nicht sichtbar und so kommt schnell ein Fehler rein der schwer zu finden ist.
Dafür kann man ja das schließende ?> am Dateiende weglassen. Das startende <?php ganz an den Anfang zu bekommen oder zumindest als zweite Zeile nach der Shebang sollte nicht das Problem darstellen. Ich wüsste nun nicht mehr, wo man dann noch ungewollte Leerzeichen haben kann.
Ich hätte eine Fehlermeldung vom Interpreter erwartet, wenn er zum Dateiende kommt ohne ein ">?" gefunden zu haben. Dem ist nicht so! Dein Workaround funktioniert! Danke! Das hat mich auf die Idee gebracht, vor dem "?>" ein die() zu setzen. Das funktioniert auch und ist sauberer.
Lo!