Auf Grund einer bevorstehenden Änderung in den Chronform Formularen haben wir eine Lokalinstallation einer Kundenwebseite aufgesetzt.
Seltsamerweise bekamen wir beim Abschicken der Formulare auf der Lokalinstallation folgende Fehlermeldung:
0 syntax error, unexpected '}', expecting end of file
administrator\components\com_chronoforms5\chronoforms\actions\email\email.php(127) : eval()'d code:59
Da die Formulare auf der produktiven Seite alle funktionieren, musste es an den Servereinstellungen liegen.
Im Menü des E-Mail Templates fanden wir schlussendlich den Fehler bzw. den Auslöser.
Im Quellcode des E-Mail Templates befand sich ein sogenanntes php short Tag. Statt also wie üblich
<php
Wurde in diesem Fall
<?
Verwendet.
Warum hat das Short Tag also auf der Produktiven aber nicht auf der Lokalinstallation funktioniert? Die Antwort ist das die short Schreibweise standardmäßig in der
Php/php.ini
Datei deaktiviert ist. Um die Funktion zu aktivieren sucht man in der Datei nach
short_open_tag=Off
und ändert diese Zeile in
short_open_tag=On
ab diesen Zeitpunkt können auch short Tags richtig interpretiert werden.
Jedoch sollte man als Entwickler auf diese Schreibweise verzichten, da diese wie unserem Fall unvorsehbare Probleme verursacht. Bei der Offizellen Schreibweise hat man wenigstens die Garantie, dass der Tag richtig interpretiert wird.