Startseite » Blog » Website-Pflege » PHP-Fehler „unexpected end of file“

Bei so manchem WordPress-Projekt ist man in der Situation, dass man eigene Templates entwirft. WordPress Templates sind die typischen Vertreter der alten PHP Schule, wonach PHP ja bereits eine eigene Template Engine ist und bilden somit eine Mischform aus HTML und PHP Anweisungen. So ist PHP quasi entstanden. Inzwischen wird PHP und HTML Code durch zusätzliche Template-Engines wie dem Oldie but Goldie Smarty oder Twig und Blade (Laravel) getrennt, was für größere Projekte gerade aus Gründen der Wiederverwertbarkeit, aber auch Übersichtlichkeit des Projekts sinnvoll ist. Nichtsdestotrotz verzichtet man bei WordPress auf Template Engines und überlässt die Trennung von Logik und Präsentation dem Entwickler. Es entstehen dann z.B. Codeausdrücke der Form:

<h1><?php the_title(); ?></h1>

"Leider" funktioniert aber meistens auch die Kurzversion, indem man <?php durch <? ersetzt, also:

<? echo('hello'); ?>

Viele Apache Webserver werden an dieser Stelle den Code brav ausführen. Das liegt daran, dass in der PHP.ini die Konfigurationsvariable "short_open_tag" den Wert "On" besitzt, was die Ausführung von dieser Syntax erlaubt. Problematisch wird es allerdings wenn die PHP Version den Wert "Off" hat. An dieser Stelle wird es einen Fatalen Fehler geben, z.B.:

"PHP Parse error: syntax error, unexpected end of file in ..."

Das Problem dabei ist, dass viele Entwicklungs-Umgebungen, wie z.B. "MAMP", die kurze Schreibweise per Default erlauben. Auf dem Produktionsserver des Hosters kann das dann zu bösen Überraschungen führen - und wer öfter mit WordPress arbeitet, weiß, dass das Debugging nicht unbedingt zu den Stärken dieses CMS gehört.

Also Abhilfe: Immer die komplette Schreibweisse <?php ... ?> benutzen. 

Entwickler, die z.B. PHPStorm benutzen, können bei Inspections > PHP > Code Style die Option "Short Open Tag Usage" anhaken und bekommen dann während der Entwicklung schon eine entsprechende Warnung:

Happy WordPress Coding!

Noch ein Hinweis: Höchstwahrscheinlich sehen Sie die Fehlermeldung nicht auf dem Bildschirm, sondern stattdessen wird einfach ein weißer Bildschirm angezeigt (white Screen of Death). In den Fehlerlogs Ihres Hosters wird aber irgendwo eine derartige Meldung zu finden sein. Achten Sie auf die PHP Dateien, die Sie modifiziert oder neu erstellt haben.

 

Siehe auch

Fassungslosigkeit vorm Bildschirm: Browser zeigt nicht das Gewünschte an

Hilfe, mein Firefox, Chrome, Safari, Edge zeigt mir alte oder kaputte Inhalte an…

3. August 2020

Immer wieder unschön: Man schlägt sich die Nacht mit Änderungen um die Ohren, stellt alles online, schickt die Mail an den Kunden, freut sich, dass alles termingerecht erledigt wurde und dann kommt die Rückmeldung: „Bei mir sieht noch alles so […]

Zwerge stehen Schlange wie WordPress-Updates - hoffentlich in der richtigen Reihenfolge

Reihenfolge bei WordPress-Updates

14. August 2020

Wenn Sie WordPress selbst aktualisieren, dann gehen Sie am besten in dieser Reihenfolge vor: Backup erstellen (Ja, muss sein) Aktualisieren Sie jetzt alle notwendigen Plugins. Website prüfen Backup erstellen (weil es soviel Spaß macht) Aktualisieren Sie das WordPress Grundsystem. Website […]

Fahndungsplakat: Schriftart gesucht

Welche Schriftarten werden für Überschriften und Texte auf unserer Seite benutzt?

5. Dezember 2019

Gerrys Kurzanleitung mit Google Chrome Browser Schriftart auf der Website wählen Kontextmenü (rechte Maustaste). „Untersuchen“ wählen Auf Tabreiter „Computed“ klicken Scrollen bis Eintrag „Font-Family“ erscheint. Die erste aufgeführte Schriftart ist die gesuchte. („Roboto Slab“ in diesem Fall für unsere Überschriften) […]

Screenshot einer Homepage Anwendung

Wie man einen Screenshot der kompletten Homepage macht

20. August 2019

Gerry der Web-Gärtner beantwortet die Frage, wie man einen Screenshot einer kompletten Homepage anfertigt.

Wir rufen Sie gerne zurück.

Scroll to Top